|
From: <qh...@us...> - 2010-02-12 03:25:04
|
Revision: 1870
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1870&view=rev
Author: qhuang8
Date: 2010-02-12 03:24:54 +0000 (Fri, 12 Feb 2010)
Log Message:
-----------
Add BSD license header for some source files and scripts in build tools project.
Modified Paths:
--------------
trunk/BaseTools/Source/C/Makefiles/NmakeSubdirs.bat
trunk/BaseTools/Source/C/Makefiles/app.makefile
trunk/BaseTools/Source/C/Makefiles/footer.makefile
trunk/BaseTools/Source/C/Makefiles/header.makefile
trunk/BaseTools/Source/C/Makefiles/lib.makefile
trunk/BaseTools/Source/C/Makefiles/ms.app
trunk/BaseTools/Source/C/Makefiles/ms.common
trunk/BaseTools/Source/C/Makefiles/ms.lib
trunk/BaseTools/Source/C/Makefiles/ms.rule
trunk/BaseTools/Source/C/PyEfiCompressor/EfiCompressor.c
trunk/BaseTools/Source/C/PyEfiCompressor/Makefile
trunk/BaseTools/Source/C/PyUtility/Makefile
trunk/BaseTools/Source/C/PyUtility/PyUtility.c
trunk/BaseTools/gcc/mingw-gcc-build.py
Modified: trunk/BaseTools/Source/C/Makefiles/NmakeSubdirs.bat
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/NmakeSubdirs.bat 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/Makefiles/NmakeSubdirs.bat 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,14 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
@echo off
setlocal
SET NMAKE_COMMAND=%1
Modified: trunk/BaseTools/Source/C/Makefiles/app.makefile
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/app.makefile 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/Makefiles/app.makefile 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,15 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+
MAKEROOT ?= ../..
include $(MAKEROOT)/Makefiles/header.makefile
Modified: trunk/BaseTools/Source/C/Makefiles/footer.makefile
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/footer.makefile 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/Makefiles/footer.makefile 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,14 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
DEPFILES = $(OBJECTS:%.o=%.d)
$(MAKEROOT)/libs-$(ARCH):
Modified: trunk/BaseTools/Source/C/Makefiles/header.makefile
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/header.makefile 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/Makefiles/header.makefile 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,5 @@
+## @file
+#
# The makefile can be invoked with
# ARCH = x86_64 or x64 for EM64T build
# ARCH = ia32 or IA32 for IA32 build
@@ -3,4 +5,13 @@
# ARCH = ia64 or IA64 for IA64 build
#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
ARCH ?= IA32
Modified: trunk/BaseTools/Source/C/Makefiles/lib.makefile
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/lib.makefile 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/Makefiles/lib.makefile 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,14 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
include $(MAKEROOT)/Makefiles/header.makefile
LIBRARY = $(MAKEROOT)/libs/lib$(LIBNAME).a
Modified: trunk/BaseTools/Source/C/Makefiles/ms.app
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/ms.app 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/Makefiles/ms.app 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,14 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
!INCLUDE ..\Makefiles\ms.common
APPLICATION = $(BIN_PATH)\$(APPNAME).exe
Modified: trunk/BaseTools/Source/C/Makefiles/ms.common
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/ms.common 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/Makefiles/ms.common 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,14 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
!IFNDEF EDK_TOOLS_PATH
!ERROR "Please set your EDK_TOOLS_PATH!"
!ENDIF
Modified: trunk/BaseTools/Source/C/Makefiles/ms.lib
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/ms.lib 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/Makefiles/ms.lib 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,14 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
!INCLUDE ..\Makefiles\ms.common
LIBRARY = $(LIB_PATH)\$(LIBNAME).lib
Modified: trunk/BaseTools/Source/C/Makefiles/ms.rule
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/ms.rule 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/Makefiles/ms.rule 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,14 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
#DEPFILES = $(OBJECTS:%.o=%.d)
.c.obj :
Modified: trunk/BaseTools/Source/C/PyEfiCompressor/EfiCompressor.c
===================================================================
--- trunk/BaseTools/Source/C/PyEfiCompressor/EfiCompressor.c 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/PyEfiCompressor/EfiCompressor.c 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,16 @@
+/** @file
+
+Copyright (c) 2009 - 2010 Intel Corporation. All rights reserved
+This program and the accompanying materials are licensed and made available
+under the terms and conditions of the BSD License which accompanies this
+distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
#include <Python.h>
#include <Decompress.h>
Modified: trunk/BaseTools/Source/C/PyEfiCompressor/Makefile
===================================================================
--- trunk/BaseTools/Source/C/PyEfiCompressor/Makefile 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/PyEfiCompressor/Makefile 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,14 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
!INCLUDE ..\Makefiles\ms.common
APPNAME = GenSec
Modified: trunk/BaseTools/Source/C/PyUtility/Makefile
===================================================================
--- trunk/BaseTools/Source/C/PyUtility/Makefile 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/PyUtility/Makefile 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,14 @@
+## @file
+#
+# Copyright (c) 2007 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
!INCLUDE ..\Makefiles\ms.common
APPNAME = GenSec
Modified: trunk/BaseTools/Source/C/PyUtility/PyUtility.c
===================================================================
--- trunk/BaseTools/Source/C/PyUtility/PyUtility.c 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/Source/C/PyUtility/PyUtility.c 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,3 +1,16 @@
+/** @file
+
+Copyright (c) 2009 - 2010 Intel Corporation. All rights reserved
+This program and the accompanying materials are licensed and made available
+under the terms and conditions of the BSD License which accompanies this
+distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
#include <Python.h>
#include <Windows.h>
#include <Common/UefiBaseTypes.h>
Modified: trunk/BaseTools/gcc/mingw-gcc-build.py
===================================================================
--- trunk/BaseTools/gcc/mingw-gcc-build.py 2010-02-11 18:11:16 UTC (rev 1869)
+++ trunk/BaseTools/gcc/mingw-gcc-build.py 2010-02-12 03:24:54 UTC (rev 1870)
@@ -1,11 +1,22 @@
#!/usr/bin/env python
-
-#
+
+## @file
+#
# Automation of instructions from:
# http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64/trunk/mingw-w64-doc/
# howto-build/mingw-w64-howto-build.txt?revision=216&view=markup
#
+# Copyright (c) 2009 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+
from optparse import OptionParser
import os
import shutil
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <kl...@us...> - 2010-02-25 10:53:46
|
Revision: 1900
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1900&view=rev
Author: klu2
Date: 2010-02-25 10:53:39 +0000 (Thu, 25 Feb 2010)
Log Message:
-----------
Upgrade the binutil 2.18.50.0.5 to 2.20.51.0.5 for UNIXGCC tool chain
Modified Paths:
--------------
trunk/BaseTools/Conf/build_rule.template
trunk/BaseTools/Conf/tools_def.template
trunk/BaseTools/gcc/mingw-gcc-build.py
Modified: trunk/BaseTools/Conf/build_rule.template
===================================================================
--- trunk/BaseTools/Conf/build_rule.template 2010-02-24 16:26:21 UTC (rev 1899)
+++ trunk/BaseTools/Conf/build_rule.template 2010-02-25 10:53:39 UTC (rev 1900)
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007-2009, Intel Corporation
+# Copyright (c) 2007-2010, Intel Corporation
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -237,7 +237,6 @@
<Command.GCC>
"$(DLINK)" -o ${dst} $(DLINK_FLAGS) -\( $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) -\) $(DLINK2_FLAGS)
- "$(OBJCOPY)" --only-keep-debug ${dst} $(DEBUG_DIR)(+)$(MODULE_NAME).pdb
"$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}
<Command.RVCT>
@@ -285,11 +284,20 @@
<OutputFile>
$(DEBUG_DIR)(+)$(MODULE_NAME).efi
- <Command.MSFT, Command.INTEL, Command.GCC, Command.RVCT>
+ <Command.MSFT, Command.INTEL, Command.RVCT>
GenFw -e $(MODULE_TYPE) -o ${dst} ${src}
$(CP) ${dst} $(OUTPUT_DIR)
$(CP) ${dst} $(BIN_DIR)
-$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
+
+ <Command.GCC>
+ $(OBJCOPY) --only-keep-debug ${src} $(BIN_DIR)(+)$(MODULE_NAME).debug
+ $(OBJCOPY) --strip-unneeded ${src}
+ $(OBJCOPY) --add-gnu-debuglink=$(BIN_DIR)(+)$(MODULE_NAME).debug ${src}
+ GenFw -e $(MODULE_TYPE) -o ${dst} ${src}
+ $(CP) ${dst} $(OUTPUT_DIR)
+ $(CP) ${dst} $(BIN_DIR)
+ -$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
<Command.XCODE>
# tool to convert Mach-O to PE/COFF
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2010-02-24 16:26:21 UTC (rev 1899)
+++ trunk/BaseTools/Conf/tools_def.template 2010-02-25 10:53:39 UTC (rev 1900)
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006-2009, Intel Corporation
+# Copyright (c) 2006-2010, Intel Corporation
# Portions copyright (c) 2008-2009 Apple Inc. All rights reserved.
#
# All rights reserved. This program and the accompanying materials
@@ -1548,11 +1548,11 @@
*_*_*_SYMRENAME_PATH = echo
*_*_*_SYMRENAME_FLAGS = Symbol renaming not needed for
-DEFINE GCC_ALL_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -c -include AutoGen.h
+DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -c -include AutoGen.h
DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2
DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address
DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency
-DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib -s --pie
+DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie
DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
@@ -1569,7 +1569,7 @@
DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386 --rename-section .data=.hii
DEFINE GCC_IPF_RC_FLAGS = -I binary -O elf64-ia64-little -B ia64 --rename-section .data=.hii
-DEFINE GCC44_ALL_CC_FLAGS = -fshort-wchar -fno-stack-protector -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-stack-protector -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -malign-double -D EFI32
DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -Wno-address
DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections
@@ -1634,9 +1634,11 @@
*_UNIXGCC_X64_ASLPP_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc
*_UNIXGCC_X64_VFRPP_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)gcc
*_UNIXGCC_X64_RC_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)objcopy
+*_UNIXGCC_X64_OBJCOPY_PATH = DEF(UNIXGCC_X64_PETOOLS_PREFIX)objcopy
*_UNIXGCC_X64_CC_FLAGS = DEF(GCC_X64_CC_FLAGS)
*_UNIXGCC_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+*_UNIXGCC_X64_OBJCOPY_FLAGS =
##################
# IPF definitions
Modified: trunk/BaseTools/gcc/mingw-gcc-build.py
===================================================================
--- trunk/BaseTools/gcc/mingw-gcc-build.py 2010-02-24 16:26:21 UTC (rev 1899)
+++ trunk/BaseTools/gcc/mingw-gcc-build.py 2010-02-25 10:53:39 UTC (rev 1900)
@@ -179,8 +179,8 @@
'binutils': {
'url': 'http://www.kernel.org/pub/linux/devel/binutils/' + \
'binutils-$version.tar.bz2',
- 'version': '2.18.50.0.5',
- 'md5': 'daee18dbbf0a6ccfc186141bee18bf62',
+ 'version': '2.20.51.0.1',
+ 'md5': '6d2de7cdf7a8389e70b124e3d73b4d37',
},
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <qh...@us...> - 2010-03-04 09:09:04
|
Revision: 1912
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1912&view=rev
Author: qhuang8
Date: 2010-03-04 09:08:56 +0000 (Thu, 04 Mar 2010)
Log Message:
-----------
Add file header for Base Tools make file
Modified Paths:
--------------
trunk/BaseTools/GNUmakefile
trunk/BaseTools/Makefile
trunk/BaseTools/Source/C/BootSectImage/GNUmakefile
trunk/BaseTools/Source/C/BootSectImage/Makefile
trunk/BaseTools/Source/C/Common/GNUmakefile
trunk/BaseTools/Source/C/Common/Makefile
trunk/BaseTools/Source/C/EfiLdrImage/GNUmakefile
trunk/BaseTools/Source/C/EfiLdrImage/Makefile
trunk/BaseTools/Source/C/EfiRom/GNUmakefile
trunk/BaseTools/Source/C/EfiRom/Makefile
trunk/BaseTools/Source/C/GNUmakefile
trunk/BaseTools/Source/C/GenBootSector/Makefile
trunk/BaseTools/Source/C/GenCrc32/GNUmakefile
trunk/BaseTools/Source/C/GenCrc32/Makefile
trunk/BaseTools/Source/C/GenFfs/GNUmakefile
trunk/BaseTools/Source/C/GenFfs/Makefile
trunk/BaseTools/Source/C/GenFv/GNUmakefile
trunk/BaseTools/Source/C/GenFv/Makefile
trunk/BaseTools/Source/C/GenFw/GNUmakefile
trunk/BaseTools/Source/C/GenFw/Makefile
trunk/BaseTools/Source/C/GenPage/GNUmakefile
trunk/BaseTools/Source/C/GenPage/Makefile
trunk/BaseTools/Source/C/GenSec/GNUmakefile
trunk/BaseTools/Source/C/GenSec/Makefile
trunk/BaseTools/Source/C/GenVtf/GNUmakefile
trunk/BaseTools/Source/C/GenVtf/Makefile
trunk/BaseTools/Source/C/GnuGenBootSector/GNUmakefile
trunk/BaseTools/Source/C/Makefile
trunk/BaseTools/Source/C/Split/GNUmakefile
trunk/BaseTools/Source/C/Split/Makefile
trunk/BaseTools/Source/C/TianoCompress/GNUmakefile
trunk/BaseTools/Source/C/TianoCompress/Makefile
trunk/BaseTools/Source/C/VfrCompile/GNUmakefile
trunk/BaseTools/Source/C/VfrCompile/Makefile
trunk/BaseTools/Source/C/VolInfo/GNUmakefile
trunk/BaseTools/Source/C/VolInfo/Makefile
trunk/BaseTools/Source/Python/GNUmakefile
trunk/BaseTools/Source/Python/Makefile
trunk/BaseTools/Tests/GNUmakefile
Modified: trunk/BaseTools/GNUmakefile
===================================================================
--- trunk/BaseTools/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,23 +1,35 @@
-
-all: subdirs
-
-LANGUAGES = C Python
-
-SOURCE_SUBDIRS := $(patsubst %,Source/%,$(sort $(LANGUAGES)))
-SUBDIRS := $(SOURCE_SUBDIRS) Tests
-CLEAN_SUBDIRS := $(patsubst %,%-clean,$(sort $(SUBDIRS)))
-
-.PHONY: subdirs $(SUBDIRS)
-subdirs: $(SUBDIRS)
-$(SUBDIRS):
- $(MAKE) -C $@
-
-.PHONY: $(CLEAN_SUBDIRS)
-$(CLEAN_SUBDIRS):
- -$(MAKE) -C $(@:-clean=) clean
-
-clean: $(CLEAN_SUBDIRS)
-
-test:
- @$(MAKE) -C Tests
-
+## @file
+# Windows makefile for Base Tools project build.
+#
+# Copyright (c) 2009 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+
+all: subdirs
+
+LANGUAGES = C Python
+
+SOURCE_SUBDIRS := $(patsubst %,Source/%,$(sort $(LANGUAGES)))
+SUBDIRS := $(SOURCE_SUBDIRS) Tests
+CLEAN_SUBDIRS := $(patsubst %,%-clean,$(sort $(SUBDIRS)))
+
+.PHONY: subdirs $(SUBDIRS)
+subdirs: $(SUBDIRS)
+$(SUBDIRS):
+ $(MAKE) -C $@
+
+.PHONY: $(CLEAN_SUBDIRS)
+$(CLEAN_SUBDIRS):
+ -$(MAKE) -C $(@:-clean=) clean
+
+clean: $(CLEAN_SUBDIRS)
+
+test:
+ @$(MAKE) -C Tests
+
Modified: trunk/BaseTools/Makefile
===================================================================
--- trunk/BaseTools/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,22 +1,34 @@
-
-SUBDIRS = Source\C Source\Python
-
-all: c python
-
-c :
- @Source\C\Makefiles\NmakeSubdirs.bat all Source\C
-
-python:
- @Source\C\Makefiles\NmakeSubdirs.bat all Source\Python
-
-subdirs: $(SUBDIRS)
- @Source\C\Makefiles\NmakeSubdirs.bat all $**
-
-.PHONY: clean
-clean:
- @Source\C\Makefiles\NmakeSubdirs.bat clean $(SUBDIRS)
-
-.PHONY: cleanall
-cleanall:
- @Source\C\Makefiles\NmakeSubdirs.bat cleanall $(SUBDIRS)
-
+## @file
+# Windows makefile for Base Tools project build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+
+SUBDIRS = Source\C Source\Python
+
+all: c python
+
+c :
+ @Source\C\Makefiles\NmakeSubdirs.bat all Source\C
+
+python:
+ @Source\C\Makefiles\NmakeSubdirs.bat all Source\Python
+
+subdirs: $(SUBDIRS)
+ @Source\C\Makefiles\NmakeSubdirs.bat all $**
+
+.PHONY: clean
+clean:
+ @Source\C\Makefiles\NmakeSubdirs.bat clean $(SUBDIRS)
+
+.PHONY: cleanall
+cleanall:
+ @Source\C\Makefiles\NmakeSubdirs.bat cleanall $(SUBDIRS)
+
Modified: trunk/BaseTools/Source/C/BootSectImage/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/BootSectImage/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/BootSectImage/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-APPNAME = BootSectImage
-
-LIBS = -lCommon
-
-OBJECTS = bootsectimage.o
-
-include $(MAKEROOT)/Makefiles/app.makefile
+## @file
+# Windows makefile for 'BootSectImage' module build.
+#
+# Copyright (c) 2009 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA32
+MAKEROOT ?= ..
+
+APPNAME = BootSectImage
+
+LIBS = -lCommon
+
+OBJECTS = bootsectimage.o
+
+include $(MAKEROOT)/Makefiles/app.makefile
Modified: trunk/BaseTools/Source/C/BootSectImage/Makefile
===================================================================
--- trunk/BaseTools/Source/C/BootSectImage/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/BootSectImage/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-!INCLUDE ..\Makefiles\ms.common
-
-APPNAME = BootSectImage
-
-LIBS = $(LIB_PATH)\Common.lib
-
-OBJECTS = BootSectImage.obj
-
-!INCLUDE ..\Makefiles\ms.app
-
+## @file
+# Windows makefile for 'BootSectImage' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+!INCLUDE ..\Makefiles\ms.common
+
+APPNAME = BootSectImage
+
+LIBS = $(LIB_PATH)\Common.lib
+
+OBJECTS = BootSectImage.obj
+
+!INCLUDE ..\Makefiles\ms.app
+
Modified: trunk/BaseTools/Source/C/Common/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/Common/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/Common/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,28 +1,40 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-# VPATH = ..
-
-LIBNAME = Common
-
-OBJECTS = \
- BasePeCoff.o \
- BinderFuncs.o \
- CommonLib.o \
- Crc32.o \
- Decompress.o \
- EfiCompress.o \
- EfiUtilityMsgs.o \
- FirmwareVolumeBuffer.o \
- FvLib.o \
- MemoryFile.o \
- MyAlloc.o \
- OsPath.o \
- ParseGuidedSectionTools.o \
- ParseInf.o \
- PeCoffLoaderEx.o \
- SimpleFileParsing.o \
- StringFuncs.o \
- TianoCompress.o
-
-include $(MAKEROOT)/Makefiles/lib.makefile
+## @file
+# Windows makefile for 'Common' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA32
+MAKEROOT ?= ..
+
+# VPATH = ..
+
+LIBNAME = Common
+
+OBJECTS = \
+ BasePeCoff.o \
+ BinderFuncs.o \
+ CommonLib.o \
+ Crc32.o \
+ Decompress.o \
+ EfiCompress.o \
+ EfiUtilityMsgs.o \
+ FirmwareVolumeBuffer.o \
+ FvLib.o \
+ MemoryFile.o \
+ MyAlloc.o \
+ OsPath.o \
+ ParseGuidedSectionTools.o \
+ ParseInf.o \
+ PeCoffLoaderEx.o \
+ SimpleFileParsing.o \
+ StringFuncs.o \
+ TianoCompress.o
+
+include $(MAKEROOT)/Makefiles/lib.makefile
Modified: trunk/BaseTools/Source/C/Common/Makefile
===================================================================
--- trunk/BaseTools/Source/C/Common/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/Common/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,3 +1,15 @@
+## @file
+# Windows makefile for 'Common' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
!INCLUDE ..\Makefiles\ms.common
# VPATH = ..
Modified: trunk/BaseTools/Source/C/EfiLdrImage/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/EfiLdrImage/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/EfiLdrImage/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-APPNAME = EfiLdrImage
-
-LIBS = -lCommon
-
-OBJECTS = EfiLdrImage.o
-
-include $(MAKEROOT)/Makefiles/app.makefile
+## @file
+# Windows makefile for 'EfiLdrImage' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA32
+MAKEROOT ?= ..
+
+APPNAME = EfiLdrImage
+
+LIBS = -lCommon
+
+OBJECTS = EfiLdrImage.o
+
+include $(MAKEROOT)/Makefiles/app.makefile
Modified: trunk/BaseTools/Source/C/EfiLdrImage/Makefile
===================================================================
--- trunk/BaseTools/Source/C/EfiLdrImage/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/EfiLdrImage/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-!INCLUDE ..\Makefiles\ms.common
-
-APPNAME = EfiLdrImage
-
-LIBS = $(LIB_PATH)\Common.lib
-
-OBJECTS = EfiLdrImage.obj
-
-!INCLUDE ..\Makefiles\ms.app
-
+## @file
+# Windows makefile for 'EfiLdrImage' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+!INCLUDE ..\Makefiles\ms.common
+
+APPNAME = EfiLdrImage
+
+LIBS = $(LIB_PATH)\Common.lib
+
+OBJECTS = EfiLdrImage.obj
+
+!INCLUDE ..\Makefiles\ms.app
+
Modified: trunk/BaseTools/Source/C/EfiRom/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/EfiRom/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/EfiRom/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-APPNAME = EfiRom
-
-LIBS = -lCommon
-
-OBJECTS = EfiRom.o
-
-include $(MAKEROOT)/Makefiles/app.makefile
+## @file
+# Windows makefile for 'EfiRom' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA32
+MAKEROOT ?= ..
+
+APPNAME = EfiRom
+
+LIBS = -lCommon
+
+OBJECTS = EfiRom.o
+
+include $(MAKEROOT)/Makefiles/app.makefile
Modified: trunk/BaseTools/Source/C/EfiRom/Makefile
===================================================================
--- trunk/BaseTools/Source/C/EfiRom/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/EfiRom/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-!INCLUDE ..\Makefiles\ms.common
-
-APPNAME = EfiRom
-
-LIBS = $(LIB_PATH)\Common.lib
-
-OBJECTS = EfiRom.obj
-
-!INCLUDE ..\Makefiles\ms.app
-
+## @file
+# Windows makefile for 'EfiRom' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+!INCLUDE ..\Makefiles\ms.common
+
+APPNAME = EfiRom
+
+LIBS = $(LIB_PATH)\Common.lib
+
+OBJECTS = EfiRom.obj
+
+!INCLUDE ..\Makefiles\ms.app
+
Modified: trunk/BaseTools/Source/C/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,7 +1,7 @@
## @file
-# GNU Make makefile for BaseTools/Source/C.
+# GNU Make makefile for C tools build.
#
-# Copyright (c) 2007 - 2009, Intel Corporation
+# Copyright (c) 2007 - 2010, Intel Corporation
#
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
Modified: trunk/BaseTools/Source/C/GenBootSector/Makefile
===================================================================
--- trunk/BaseTools/Source/C/GenBootSector/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenBootSector/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-!INCLUDE ..\Makefiles\ms.common
-
-APPNAME = GenBootSector
-
-LIBS = $(LIB_PATH)\Common.lib
-
-OBJECTS = GenBootSector.obj GetDrvNumOffset.obj
-
-!INCLUDE ..\Makefiles\ms.app
-
+## @file
+# Windows makefile for 'GenBootSector' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+!INCLUDE ..\Makefiles\ms.common
+
+APPNAME = GenBootSector
+
+LIBS = $(LIB_PATH)\Common.lib
+
+OBJECTS = GenBootSector.obj GetDrvNumOffset.obj
+
+!INCLUDE ..\Makefiles\ms.app
+
Modified: trunk/BaseTools/Source/C/GenCrc32/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/GenCrc32/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenCrc32/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-APPNAME = GenCrc32
-
-LIBS = -lCommon
-
-OBJECTS = GenCrc32.o
-
-include $(MAKEROOT)/Makefiles/app.makefile
+## @file
+# Windows makefile for 'GenCrc32' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA32
+MAKEROOT ?= ..
+
+APPNAME = GenCrc32
+
+LIBS = -lCommon
+
+OBJECTS = GenCrc32.o
+
+include $(MAKEROOT)/Makefiles/app.makefile
Modified: trunk/BaseTools/Source/C/GenCrc32/Makefile
===================================================================
--- trunk/BaseTools/Source/C/GenCrc32/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenCrc32/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-!INCLUDE ..\Makefiles\ms.common
-
-APPNAME = GenCrc32
-
-LIBS = $(LIB_PATH)\Common.lib
-
-OBJECTS = GenCrc32.obj
-
-!INCLUDE ..\Makefiles\ms.app
-
+## @file
+# Windows makefile for 'GenCrc32' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+!INCLUDE ..\Makefiles\ms.common
+
+APPNAME = GenCrc32
+
+LIBS = $(LIB_PATH)\Common.lib
+
+OBJECTS = GenCrc32.obj
+
+!INCLUDE ..\Makefiles\ms.app
+
Modified: trunk/BaseTools/Source/C/GenFfs/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/GenFfs/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenFfs/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,11 +1,23 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-APPNAME = GenFfs
-
-OBJECTS = GenFfs.o
-
-include $(MAKEROOT)/Makefiles/app.makefile
-
-LIBS = -lCommon
-
+## @file
+# Windows makefile for 'GenFfs' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA32
+MAKEROOT ?= ..
+
+APPNAME = GenFfs
+
+OBJECTS = GenFfs.o
+
+include $(MAKEROOT)/Makefiles/app.makefile
+
+LIBS = -lCommon
+
Modified: trunk/BaseTools/Source/C/GenFfs/Makefile
===================================================================
--- trunk/BaseTools/Source/C/GenFfs/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenFfs/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-!INCLUDE ..\Makefiles\ms.common
-
-APPNAME = GenFfs
-
-LIBS = $(LIB_PATH)\Common.lib
-
-OBJECTS = GenFfs.obj
-
-!INCLUDE ..\Makefiles\ms.app
-
+## @file
+# Windows makefile for 'GenFfs' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+!INCLUDE ..\Makefiles\ms.common
+
+APPNAME = GenFfs
+
+LIBS = $(LIB_PATH)\Common.lib
+
+OBJECTS = GenFfs.obj
+
+!INCLUDE ..\Makefiles\ms.app
+
Modified: trunk/BaseTools/Source/C/GenFv/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/GenFv/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenFv/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,18 +1,30 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-APPNAME = GenFv
-
-OBJECTS = GenFv.o GenFvInternalLib.o
-
-include $(MAKEROOT)/Makefiles/app.makefile
-
-LIBS = -lCommon
-ifeq ($(CYGWIN), CYGWIN)
- LIBS += -L/lib/e2fsprogs -luuid
-endif
-
-ifeq ($(LINUX), Linux)
- LIBS += -luuid
-endif
-
+## @file
+# Windows makefile for 'GenFv' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA32
+MAKEROOT ?= ..
+
+APPNAME = GenFv
+
+OBJECTS = GenFv.o GenFvInternalLib.o
+
+include $(MAKEROOT)/Makefiles/app.makefile
+
+LIBS = -lCommon
+ifeq ($(CYGWIN), CYGWIN)
+ LIBS += -L/lib/e2fsprogs -luuid
+endif
+
+ifeq ($(LINUX), Linux)
+ LIBS += -luuid
+endif
+
Modified: trunk/BaseTools/Source/C/GenFv/Makefile
===================================================================
--- trunk/BaseTools/Source/C/GenFv/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenFv/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-!INCLUDE ..\Makefiles\ms.common
-
-APPNAME = GenFv
-
-LIBS = $(LIB_PATH)\Common.lib RpcRT4.lib
-
-OBJECTS = GenFv.obj GenFvInternalLib.obj
-
-!INCLUDE ..\Makefiles\ms.app
-
+## @file
+# Windows makefile for 'GenFv' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+!INCLUDE ..\Makefiles\ms.common
+
+APPNAME = GenFv
+
+LIBS = $(LIB_PATH)\Common.lib RpcRT4.lib
+
+OBJECTS = GenFv.obj GenFvInternalLib.obj
+
+!INCLUDE ..\Makefiles\ms.app
+
Modified: trunk/BaseTools/Source/C/GenFw/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/GenFw/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenFw/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,18 +1,30 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-APPNAME = GenFw
-
-OBJECTS = GenFw.o
-
-include $(MAKEROOT)/Makefiles/app.makefile
-
-LIBS = -lCommon
-ifeq ($(CYGWIN), CYGWIN)
- LIBS += -L/lib/e2fsprogs -luuid
-endif
-
-ifeq ($(LINUX), Linux)
- LIBS += -luuid
-endif
-
+## @file
+# Windows makefile for 'GenFw' module build.
+#
+# Copyright (c) 2009 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA32
+MAKEROOT ?= ..
+
+APPNAME = GenFw
+
+OBJECTS = GenFw.o
+
+include $(MAKEROOT)/Makefiles/app.makefile
+
+LIBS = -lCommon
+ifeq ($(CYGWIN), CYGWIN)
+ LIBS += -L/lib/e2fsprogs -luuid
+endif
+
+ifeq ($(LINUX), Linux)
+ LIBS += -luuid
+endif
+
Modified: trunk/BaseTools/Source/C/GenFw/Makefile
===================================================================
--- trunk/BaseTools/Source/C/GenFw/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenFw/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,12 +1,24 @@
-!INCLUDE ..\Makefiles\ms.common
-
-APPNAME = GenFw
-
-LIBS = $(LIB_PATH)\Common.lib
-
-OBJECTS = GenFw.obj
-
-#CFLAGS = $(CFLAGS) /nodefaultlib:libc.lib
-
-!INCLUDE ..\Makefiles\ms.app
-
+## @file
+# Windows makefile for 'GenFw' module build.
+#
+# Copyright (c) 2009 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+!INCLUDE ..\Makefiles\ms.common
+
+APPNAME = GenFw
+
+LIBS = $(LIB_PATH)\Common.lib
+
+OBJECTS = GenFw.obj
+
+#CFLAGS = $(CFLAGS) /nodefaultlib:libc.lib
+
+!INCLUDE ..\Makefiles\ms.app
+
Modified: trunk/BaseTools/Source/C/GenPage/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/GenPage/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenPage/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-APPNAME = GenPage
-
-LIBS = -lCommon
-
-OBJECTS = GenPage.o
-
-include $(MAKEROOT)/Makefiles/app.makefile
+## @file
+# Windows makefile for 'GenPage' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA32
+MAKEROOT ?= ..
+
+APPNAME = GenPage
+
+LIBS = -lCommon
+
+OBJECTS = GenPage.o
+
+include $(MAKEROOT)/Makefiles/app.makefile
Modified: trunk/BaseTools/Source/C/GenPage/Makefile
===================================================================
--- trunk/BaseTools/Source/C/GenPage/Makefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenPage/Makefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,10 +1,22 @@
-!INCLUDE ..\Makefiles\ms.common
-
-APPNAME = GenPage
-
-LIBS = $(LIB_PATH)\Common.lib
-
-OBJECTS = GenPage.obj
-
-!INCLUDE ..\Makefiles\ms.app
-
+## @file
+# Windows makefile for 'GenPage' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+!INCLUDE ..\Makefiles\ms.common
+
+APPNAME = GenPage
+
+LIBS = $(LIB_PATH)\Common.lib
+
+OBJECTS = GenPage.obj
+
+!INCLUDE ..\Makefiles\ms.app
+
Modified: trunk/BaseTools/Source/C/GenSec/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/C/GenSec/GNUmakefile 2010-03-04 02:48:34 UTC (rev 1911)
+++ trunk/BaseTools/Source/C/GenSec/GNUmakefile 2010-03-04 09:08:56 UTC (rev 1912)
@@ -1,18 +1,30 @@
-ARCH ?= IA32
-MAKEROOT ?= ..
-
-APPNAME = GenSec
-
-OBJECTS = GenSec.o
-
-include $(MAKEROOT)/Makefiles/app.makefile
-
-LIBS = -lCommon
-ifeq ($(CYGWIN), CYGWIN)
- LIBS += -L/lib/e2fsprogs -luuid
-endif
-
-ifeq ($(LINUX), Linux)
- LIBS += -luuid
-endif
-
+## @file
+# Windows makefile for 'GenSec' module build.
+#
+# Copyright (c) 2007 - 2010, Intel Corporation<BR>
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+ARCH ?= IA3...
[truncated message content] |
|
From: <kl...@us...> - 2010-03-05 10:23:59
|
Revision: 1917
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1917&view=rev
Author: klu2
Date: 2010-03-05 10:23:53 +0000 (Fri, 05 Mar 2010)
Log Message:
-----------
objcopy in binutil 2.50.0.18 contains a bug that will set a EFI PE image to "RELOC_STRIP" image if this image has no ".reloc" section.
This patch is to correct EFI image as relocable after image corrupted by objcopy in UNIXGCC/CYGGCC tool chain.
Modified Paths:
--------------
trunk/BaseTools/Conf/tools_def.template
trunk/BaseTools/Source/C/GenFw/GenFw.c
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2010-03-05 09:36:39 UTC (rev 1916)
+++ trunk/BaseTools/Conf/tools_def.template 2010-03-05 10:23:53 UTC (rev 1917)
@@ -1589,8 +1589,8 @@
*_UNIXGCC_*_MAKE_PATH = make
*_UNIXGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)
-*_UNIXGCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS)
-*_UNIXGCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS)
+*_UNIXGCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0
+*_UNIXGCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0
*_UNIXGCC_IA32_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)
*_UNIXGCC_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)
*_UNIXGCC_*_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
@@ -1717,8 +1717,8 @@
*_CYGGCC_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe
*_CYGGCC_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
-*_CYGGCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS)
-*_CYGGCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS)
+*_CYGGCC_IA32_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0
+*_CYGGCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_FLAGS) --image-base=0
*_CYGGCC_IA32_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)
*_CYGGCC_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)
*_CYGGCC_*_MAKE_FLAGS = /nologo
Modified: trunk/BaseTools/Source/C/GenFw/GenFw.c
===================================================================
--- trunk/BaseTools/Source/C/GenFw/GenFw.c 2010-03-05 09:36:39 UTC (rev 1916)
+++ trunk/BaseTools/Source/C/GenFw/GenFw.c 2010-03-05 10:23:53 UTC (rev 1917)
@@ -3467,6 +3467,27 @@
FileLength = FileLength + sizeof (EFI_TE_IMAGE_HEADER);
memcpy (FileBuffer, &TEImageHeader, sizeof (EFI_TE_IMAGE_HEADER));
VerboseMsg ("the size of output file is %u bytes", (unsigned) (FileLength));
+ } else {
+
+ //
+ // Following codes are to fix the objcopy's issue:
+ // objcopy in binutil 2.50.18 will set PE image's charactices to "RELOC_STRIPPED" if image has no ".reloc" section
+ // It cause issue for EFI image which has no ".reloc" sections.
+ // Following codes will be removed when objcopy in binutil fix this problem for PE image.
+ //
+ if ((PeHdr->Pe32.FileHeader.Characteristics & EFI_IMAGE_FILE_RELOCS_STRIPPED) != 0) {
+ if (PeHdr->Pe32.OptionalHeader.Magic == EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC) {
+ Optional32 = (EFI_IMAGE_OPTIONAL_HEADER32 *)&PeHdr->Pe32.OptionalHeader;
+ if (Optional32->ImageBase == 0) {
+ PeHdr->Pe32.FileHeader.Characteristics &= ~EFI_IMAGE_FILE_RELOCS_STRIPPED;
+ }
+ } else if (PeHdr->Pe32.OptionalHeader.Magic == EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC) {
+ Optional64 = (EFI_IMAGE_OPTIONAL_HEADER64 *)&PeHdr->Pe32.OptionalHeader;
+ if (Optional64->ImageBase == 0) {
+ PeHdr->Pe32.FileHeader.Characteristics &= ~EFI_IMAGE_FILE_RELOCS_STRIPPED;
+ }
+ }
+ }
}
WriteFile:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2010-03-10 01:02:24
|
Revision: 1923
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1923&view=rev
Author: andrewfish
Date: 2010-03-10 01:02:15 +0000 (Wed, 10 Mar 2010)
Log Message:
-----------
Start working on support for www.codesourcey.com tool chain. Defacto standard ARM GCC. Currently relocations arm missing and some compiler intrinsics are also missing. So this is just the start of the port. For some reason the OBJCOPY & SYMRENAME rename to echo did not work when I tried to build using this gcc and Windows dos box.
Modified Paths:
--------------
trunk/BaseTools/Conf/build_rule.template
trunk/BaseTools/Conf/tools_def.template
trunk/BaseTools/Source/C/GenFw/GenFw.c
trunk/BaseTools/Source/C/GenFw/elf_common.h
Modified: trunk/BaseTools/Conf/build_rule.template
===================================================================
--- trunk/BaseTools/Conf/build_rule.template 2010-03-09 08:23:21 UTC (rev 1922)
+++ trunk/BaseTools/Conf/build_rule.template 2010-03-10 01:02:15 UTC (rev 1923)
@@ -131,6 +131,10 @@
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
"$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}
+ <Command.ARMGCC>
+ "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
+
+
[C-Header-File]
<InputFile>
*.h, *.H
@@ -215,7 +219,7 @@
<Command.RVCT>
"$(SLINK)" $(SLINK_FLAGS) ${dst} --via $(OBJECT_FILES_LIST)
- <Command.RVCTCYGWIN>
+ <Command.RVCTCYGWIN, Command.ARMGCC>
# $(OBJECT_FILES_LIST) has wrong paths for cygwin
"$(SLINK)" $(SLINK_FLAGS) ${dst} $(OBJECT_FILES)
@@ -239,6 +243,9 @@
"$(DLINK)" -o ${dst} $(DLINK_FLAGS) -\( $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) -\) $(DLINK2_FLAGS)
"$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}
+ <Command.ARMGCC>
+ "$(DLINK)" -o ${dst} $(DLINK_FLAGS) -( $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) -) $(DLINK2_FLAGS)
+
<Command.RVCT>
"$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
@@ -266,6 +273,9 @@
<Command.GCC>
"$(DLINK)" $(DLINK_FLAGS) -\( $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) -\) $(DLINK2_FLAGS)
+ <Command.ARMGCC>
+ "$(DLINK)" $(DLINK_FLAGS) -( $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) -) $(DLINK2_FLAGS)
+
<Command.RVCT>
"$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
@@ -284,7 +294,7 @@
<OutputFile>
$(DEBUG_DIR)(+)$(MODULE_NAME).efi
- <Command.MSFT, Command.INTEL, Command.RVCT>
+ <Command.MSFT, Command.INTEL, Command.RVCT, Command.ARMGCC>
GenFw -e $(MODULE_TYPE) -o ${dst} ${src}
$(CP) ${dst} $(OUTPUT_DIR)
$(CP) ${dst} $(BIN_DIR)
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2010-03-09 08:23:21 UTC (rev 1922)
+++ trunk/BaseTools/Conf/tools_def.template 2010-03-10 01:02:15 UTC (rev 1923)
@@ -140,8 +140,8 @@
DEFINE RVCT31_TOOLS_PATH = c:/Program Files/ARM/RVCT/Programs/3.1/569/win_32-pentium
DEFINE RVCT31CYGWIN_TOOLS_PATH = /cygdrive/c/Program Files/ARM/RVCT/Programs/3.1/569/win_32-pentium
-# Update to the location of the gcc executables
-DEFINE ARMGCC_BIN = /
+DEFINE SOURCERY_TOOLS = c:/Program Files/CodeSourcery/Sourcery G++ Lite/bin
+DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G++ Lite/bin
####################################################################################
#
@@ -2838,14 +2838,17 @@
####################################################################################
#
-# ARM GCC (GCC 4.1.1, etc.)
+# ARM GCC (www.codesourcery.com)
#
####################################################################################
# ARMGCC - ARM version of the GCC cross compiler
*_ARMGCC_*_*_FAMILY = GCC
-*_ARMGCC_*_MAKE_PATH = make
+*_ARMGCC_*_*_BUILDRULEFAMILY = ARMGCC
+*_ARMGCC_*_MAKE_PATH = DEF(SOURCERY_TOOLS)/cs-make
+*_ARMGCC_*_MAKE_FLAGS = --no-print-directory
+
##################
# ASL definitions
##################
@@ -2860,24 +2863,24 @@
# ARM definitions
##################
-*_ARMGCC_ARM_ASLCC_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc
-*_ARMGCC_ARM_ASLDLINK_PATH = DEF(ARMGCC_BIN)/arm-elf-ld
-*_ARMGCC_ARM_ASLPP_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc
+*_ARMGCC_ARM_ASLCC_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc
+*_ARMGCC_ARM_ASLDLINK_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-ld
+*_ARMGCC_ARM_ASLPP_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc
-*_ARMGCC_ARM_CC_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc
-*_ARMGCC_ARM_SLINK_PATH = DEF(ARMGCC_BIN)/arm-elf-ar
-*_ARMGCC_ARM_DLINK_PATH = DEF(ARMGCC_BIN)/arm-elf-ld
-*_ARMGCC_ARM_ASM_PATH = DEF(ARMGCC_BIN)/arm-elf-as
-*_ARMGCC_ARM_PP_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc
-*_ARMGCC_ARM_VFRPP_PATH = DEF(ARMGCC_BIN)/arm-elf-gcc
+*_ARMGCC_ARM_CC_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc
+*_ARMGCC_ARM_SLINK_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-ar
+*_ARMGCC_ARM_DLINK_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-ld
+*_ARMGCC_ARM_ASM_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-as
+*_ARMGCC_ARM_PP_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc
+*_ARMGCC_ARM_VFRPP_PATH = DEF(SOURCERY_TOOLS)/arm-none-eabi-gcc
#
# Use default values, or override in DSC file
#
-*_ARMGCC_ARM_ARCHCC_FLAGS =
-*_ARMGCC_ARM_ARCHASM_FLAGS =
+*_ARMGCC_ARM_ARCHCC_FLAGS = -march=armv7-a -mthumb
+*_ARMGCC_ARM_ARCHASM_FLAGS = -march=armv7-a
*_ARMGCC_ARM_ARCHDLINK_FLAGS =
-*_ARMGCC_ARM_PLATFORM_FLAGS =
+*_ARMGCC_ARM_PLATFORM_FLAGS = -march=armv7-a
DEBUG_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) -mlittle-endian -g
RELEASE_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) -mlittle-endian
@@ -2885,12 +2888,13 @@
*_ARMGCC_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
*_ARMGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
-*_ARMGCC_ARM_MAKE_PATH = make
+*_ARMGCC_ARM_SLINK_FLAGS = -rc
+*_ARMGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) --oformat=elf32-littlearm -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+#
+# Had to remove --emit-relocs to get compile working. Images don't work correctly (linked at 0, no relocations)
+# --emit-relocs
+#
-*_ARMGCC_ARM_SLINK_FLAGS = -r
-*_ARMGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) --emit-relocs --oformat=elf32-littlearm -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-# --gc-sections
-
DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mfpu=fpa -mlittle-endian -g -O2 -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h
RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mfpu=fpa -mlittle-endian -O2 -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h
Modified: trunk/BaseTools/Source/C/GenFw/GenFw.c
===================================================================
--- trunk/BaseTools/Source/C/GenFw/GenFw.c 2010-03-09 08:23:21 UTC (rev 1922)
+++ trunk/BaseTools/Source/C/GenFw/GenFw.c 2010-03-10 01:02:15 UTC (rev 1923)
@@ -1143,6 +1143,7 @@
UINT8 *Targ;
Elf32_Phdr *DynamicSegment;
Elf32_Phdr *TargetSegment;
+ static int ErrorCount = 0;
for (Index = 0, FoundRelocations = FALSE; Index < Ehdr->e_shnum; Index++) {
Elf_Shdr *RelShdr = GetShdrByIndex(Index);
@@ -1166,7 +1167,7 @@
EFI_IMAGE_REL_BASED_HIGHLOW);
break;
default:
- Error (NULL, 0, 3000, "Invalid", "%s unhandled section type %x.", mInImageName, (unsigned) ELF_R_TYPE(Rel->r_info));
+ Error (NULL, 0, 3000, "Invalid", "%s unkown relocation %x.", mInImageName, (unsigned) ELF_R_TYPE(Rel->r_info));
}
} else if (Ehdr->e_machine == EM_ARM) {
switch (ELF32_R_TYPE(Rel->r_info)) {
@@ -1182,8 +1183,17 @@
EFI_IMAGE_REL_BASED_HIGHLOW
);
break;
+
+ case R_ARM_CALL:
+ case R_ARM_THM_MOVW_ABS_NC:
+ case R_ARM_THM_MOVT_ABS:
+ if (ErrorCount++ == 0) {
+ Error (NULL, 0, 3000, "Invalid", "www.codesourcery.com ELF relocations not yet implemented!!!! Bad Image", mInImageName);
+ }
+ break;
+
default:
- Error (NULL, 0, 3000, "Invalid", "%s unhandled section type %x.", mInImageName, (unsigned) ELF32_R_TYPE(Rel->r_info));
+ Error (NULL, 0, 3000, "Invalid", "%s unkown relocation %x.", mInImageName, (unsigned) ELF32_R_TYPE(Rel->r_info));
}
} else {
Error (NULL, 0, 3000, "Not Supported", "This tool does not support relocations for ELF with e_machine %u (processor type).", (unsigned) Ehdr->e_machine);
Modified: trunk/BaseTools/Source/C/GenFw/elf_common.h
===================================================================
--- trunk/BaseTools/Source/C/GenFw/elf_common.h 2010-03-09 08:23:21 UTC (rev 1922)
+++ trunk/BaseTools/Source/C/GenFw/elf_common.h 2010-03-10 01:02:15 UTC (rev 1923)
@@ -597,6 +597,11 @@
#define R_ARM_GOTPC 25 /* Add PC-relative GOT table address. */
#define R_ARM_GOT32 26 /* Add PC-relative GOT offset. */
#define R_ARM_PLT32 27 /* Add PC-relative PLT offset. */
+
+#define R_ARM_CALL 28 // New block for ARM Thumb2
+#define R_ARM_THM_MOVW_ABS_NC 47
+#define R_ARM_THM_MOVT_ABS 48
+
#define R_ARM_GNU_VTENTRY 100
#define R_ARM_GNU_VTINHERIT 101
#define R_ARM_RSBREL32 250
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hh...@us...> - 2010-04-29 04:34:59
|
Revision: 1959
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1959&view=rev
Author: hhtian
Date: 2010-04-29 04:34:48 +0000 (Thu, 29 Apr 2010)
Log Message:
-----------
Update the copyright notice format
Modified Paths:
--------------
trunk/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
trunk/BaseTools/BuildEnv
trunk/BaseTools/BuildNotes.txt
trunk/BaseTools/Conf/FrameworkDatabase.template
trunk/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
trunk/BaseTools/Conf/XMLSchema/FarManifest.xsd
trunk/BaseTools/Conf/XMLSchema/FrameworkDataAttributes.xsd
trunk/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd
trunk/BaseTools/Conf/XMLSchema/FrameworkDataTypes.xsd
trunk/BaseTools/Conf/XMLSchema/FrameworkHeaders.xsd
trunk/BaseTools/Conf/XMLSchema/NamingConvention.xsd
trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsd
trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsdconfig
trunk/BaseTools/Conf/XMLSchema/WorkspaceContent.xsd
trunk/BaseTools/Conf/build_rule.template
trunk/BaseTools/Conf/target.template
trunk/BaseTools/Conf/tools_def.template
trunk/BaseTools/GNUmakefile
trunk/BaseTools/Makefile
trunk/BaseTools/Source/C/BootSectImage/GNUmakefile
trunk/BaseTools/Source/C/BootSectImage/Makefile
trunk/BaseTools/Source/C/BootSectImage/bootsectimage.c
trunk/BaseTools/Source/C/BootSectImage/fat.h
trunk/BaseTools/Source/C/BootSectImage/mbr.h
trunk/BaseTools/Source/C/Common/BasePeCoff.c
trunk/BaseTools/Source/C/Common/BinderFuncs.c
trunk/BaseTools/Source/C/Common/BinderFuncs.h
trunk/BaseTools/Source/C/Common/CommonLib.c
trunk/BaseTools/Source/C/Common/CommonLib.h
trunk/BaseTools/Source/C/Common/Compress.h
trunk/BaseTools/Source/C/Common/Crc32.c
trunk/BaseTools/Source/C/Common/Crc32.h
trunk/BaseTools/Source/C/Common/Decompress.c
trunk/BaseTools/Source/C/Common/Decompress.h
trunk/BaseTools/Source/C/Common/EfiCompress.c
trunk/BaseTools/Source/C/Common/EfiUtilityMsgs.c
trunk/BaseTools/Source/C/Common/EfiUtilityMsgs.h
trunk/BaseTools/Source/C/Common/FirmwareVolumeBuffer.c
trunk/BaseTools/Source/C/Common/FirmwareVolumeBufferLib.h
trunk/BaseTools/Source/C/Common/FvLib.c
trunk/BaseTools/Source/C/Common/FvLib.h
trunk/BaseTools/Source/C/Common/GNUmakefile
trunk/BaseTools/Source/C/Common/Makefile
trunk/BaseTools/Source/C/Common/MemoryFile.c
trunk/BaseTools/Source/C/Common/MemoryFile.h
trunk/BaseTools/Source/C/Common/MyAlloc.c
trunk/BaseTools/Source/C/Common/MyAlloc.h
trunk/BaseTools/Source/C/Common/OsPath.c
trunk/BaseTools/Source/C/Common/OsPath.h
trunk/BaseTools/Source/C/Common/ParseGuidedSectionTools.c
trunk/BaseTools/Source/C/Common/ParseGuidedSectionTools.h
trunk/BaseTools/Source/C/Common/ParseInf.c
trunk/BaseTools/Source/C/Common/ParseInf.h
trunk/BaseTools/Source/C/Common/PeCoffLib.h
trunk/BaseTools/Source/C/Common/PeCoffLoaderEx.c
trunk/BaseTools/Source/C/Common/SimpleFileParsing.c
trunk/BaseTools/Source/C/Common/SimpleFileParsing.h
trunk/BaseTools/Source/C/Common/StringFuncs.c
trunk/BaseTools/Source/C/Common/StringFuncs.h
trunk/BaseTools/Source/C/Common/TianoCompress.c
trunk/BaseTools/Source/C/Common/WinNtInclude.h
trunk/BaseTools/Source/C/EfiLdrImage/EfiLdrImage.c
trunk/BaseTools/Source/C/EfiLdrImage/GNUmakefile
trunk/BaseTools/Source/C/EfiLdrImage/Makefile
trunk/BaseTools/Source/C/EfiRom/EfiRom.c
trunk/BaseTools/Source/C/EfiRom/EfiRom.h
trunk/BaseTools/Source/C/EfiRom/GNUmakefile
trunk/BaseTools/Source/C/EfiRom/Makefile
trunk/BaseTools/Source/C/GNUmakefile
trunk/BaseTools/Source/C/GenBootSector/FatFormat.h
trunk/BaseTools/Source/C/GenBootSector/GenBootSector.c
trunk/BaseTools/Source/C/GenBootSector/GetDrvNumOffset.c
trunk/BaseTools/Source/C/GenBootSector/Makefile
trunk/BaseTools/Source/C/GenCrc32/GNUmakefile
trunk/BaseTools/Source/C/GenCrc32/GenCrc32.c
trunk/BaseTools/Source/C/GenCrc32/Makefile
trunk/BaseTools/Source/C/GenFfs/GNUmakefile
trunk/BaseTools/Source/C/GenFfs/GenFfs.c
trunk/BaseTools/Source/C/GenFfs/Makefile
trunk/BaseTools/Source/C/GenFv/GNUmakefile
trunk/BaseTools/Source/C/GenFv/GenFv.c
trunk/BaseTools/Source/C/GenFv/GenFvInternalLib.c
trunk/BaseTools/Source/C/GenFv/GenFvInternalLib.h
trunk/BaseTools/Source/C/GenFv/Makefile
trunk/BaseTools/Source/C/GenFw/Elf32Convert.c
trunk/BaseTools/Source/C/GenFw/Elf32Convert.h
trunk/BaseTools/Source/C/GenFw/Elf64Convert.c
trunk/BaseTools/Source/C/GenFw/Elf64Convert.h
trunk/BaseTools/Source/C/GenFw/ElfConvert.c
trunk/BaseTools/Source/C/GenFw/ElfConvert.h
trunk/BaseTools/Source/C/GenFw/GNUmakefile
trunk/BaseTools/Source/C/GenFw/GenFw.c
trunk/BaseTools/Source/C/GenFw/GenFw.h
trunk/BaseTools/Source/C/GenFw/Makefile
trunk/BaseTools/Source/C/GenFw/elf32.h
trunk/BaseTools/Source/C/GenFw/elf64.h
trunk/BaseTools/Source/C/GenFw/elf_common.h
trunk/BaseTools/Source/C/GenPage/GNUmakefile
trunk/BaseTools/Source/C/GenPage/GenPage.c
trunk/BaseTools/Source/C/GenPage/Makefile
trunk/BaseTools/Source/C/GenPage/VirtualMemory.h
trunk/BaseTools/Source/C/GenSec/GNUmakefile
trunk/BaseTools/Source/C/GenSec/GenSec.c
trunk/BaseTools/Source/C/GenSec/Makefile
trunk/BaseTools/Source/C/GenVtf/GNUmakefile
trunk/BaseTools/Source/C/GenVtf/GenVtf.c
trunk/BaseTools/Source/C/GenVtf/GenVtf.h
trunk/BaseTools/Source/C/GenVtf/Makefile
trunk/BaseTools/Source/C/GnuGenBootSector/FatFormat.h
trunk/BaseTools/Source/C/GnuGenBootSector/GNUmakefile
trunk/BaseTools/Source/C/GnuGenBootSector/GnuGenBootSector.c
trunk/BaseTools/Source/C/Include/Common/BaseTypes.h
trunk/BaseTools/Source/C/Include/Common/MdeModuleHii.h
trunk/BaseTools/Source/C/Include/Common/PiFirmwareFile.h
trunk/BaseTools/Source/C/Include/Common/PiFirmwareVolume.h
trunk/BaseTools/Source/C/Include/Common/UefiBaseTypes.h
trunk/BaseTools/Source/C/Include/Common/UefiCapsule.h
trunk/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
trunk/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
trunk/BaseTools/Source/C/Include/Common/VariableFormat.h
trunk/BaseTools/Source/C/Include/Common/WorkingBlockHeader.h
trunk/BaseTools/Source/C/Include/Guid/PcAnsi.h
trunk/BaseTools/Source/C/Include/Guid/PiFirmwareFileSystem.h
trunk/BaseTools/Source/C/Include/Ia32/ProcessorBind.h
trunk/BaseTools/Source/C/Include/IndustryStandard/Acpi.h
trunk/BaseTools/Source/C/Include/IndustryStandard/Acpi1_0.h
trunk/BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h
trunk/BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h
trunk/BaseTools/Source/C/Include/IndustryStandard/EfiPci.h
trunk/BaseTools/Source/C/Include/IndustryStandard/MemoryMappedConfigurationSpaceAccessTable.h
trunk/BaseTools/Source/C/Include/IndustryStandard/PeImage.h
trunk/BaseTools/Source/C/Include/IndustryStandard/pci22.h
trunk/BaseTools/Source/C/Include/IndustryStandard/pci23.h
trunk/BaseTools/Source/C/Include/IndustryStandard/pci30.h
trunk/BaseTools/Source/C/Include/Protocol/DevicePath.h
trunk/BaseTools/Source/C/Include/Protocol/GraphicsOutput.h
trunk/BaseTools/Source/C/Include/Protocol/GuidedSectionExtraction.h
trunk/BaseTools/Source/C/Include/Protocol/HiiFramework.h
trunk/BaseTools/Source/C/Include/Protocol/UgaDraw.h
trunk/BaseTools/Source/C/Include/X64/ProcessorBind.h
trunk/BaseTools/Source/C/LzmaCompress/GNUmakefile
trunk/BaseTools/Source/C/LzmaCompress/LzmaCompress.c
trunk/BaseTools/Source/C/LzmaCompress/Makefile
trunk/BaseTools/Source/C/Makefile
trunk/BaseTools/Source/C/Makefiles/NmakeSubdirs.bat
trunk/BaseTools/Source/C/Makefiles/app.makefile
trunk/BaseTools/Source/C/Makefiles/footer.makefile
trunk/BaseTools/Source/C/Makefiles/header.makefile
trunk/BaseTools/Source/C/Makefiles/lib.makefile
trunk/BaseTools/Source/C/Makefiles/ms.app
trunk/BaseTools/Source/C/Makefiles/ms.common
trunk/BaseTools/Source/C/Makefiles/ms.lib
trunk/BaseTools/Source/C/Makefiles/ms.rule
trunk/BaseTools/Source/C/PyEfiCompressor/EfiCompressor.c
trunk/BaseTools/Source/C/PyEfiCompressor/Makefile
trunk/BaseTools/Source/C/PyEfiCompressor/setup.py
trunk/BaseTools/Source/C/PyUtility/Makefile
trunk/BaseTools/Source/C/PyUtility/PyUtility.c
trunk/BaseTools/Source/C/PyUtility/setup.py
trunk/BaseTools/Source/C/Split/GNUmakefile
trunk/BaseTools/Source/C/Split/Makefile
trunk/BaseTools/Source/C/Split/Split.c
trunk/BaseTools/Source/C/TianoCompress/GNUmakefile
trunk/BaseTools/Source/C/TianoCompress/Makefile
trunk/BaseTools/Source/C/TianoCompress/TianoCompress.c
trunk/BaseTools/Source/C/TianoCompress/TianoCompress.h
trunk/BaseTools/Source/C/VfrCompile/EfiVfr.h
trunk/BaseTools/Source/C/VfrCompile/GNUmakefile
trunk/BaseTools/Source/C/VfrCompile/Makefile
trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.h
trunk/BaseTools/Source/C/VfrCompile/VfrError.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrError.h
trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
trunk/BaseTools/Source/C/VolInfo/GNUmakefile
trunk/BaseTools/Source/C/VolInfo/Makefile
trunk/BaseTools/Source/C/VolInfo/VolInfo.c
trunk/BaseTools/Source/C/VolInfo/VolInfo.h
trunk/BaseTools/Source/Python/AutoGen/AutoGen.py
trunk/BaseTools/Source/Python/AutoGen/BuildEngine.py
trunk/BaseTools/Source/Python/AutoGen/GenC.py
trunk/BaseTools/Source/Python/AutoGen/GenDepex.py
trunk/BaseTools/Source/Python/AutoGen/GenMake.py
trunk/BaseTools/Source/Python/AutoGen/StrGather.py
trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py
trunk/BaseTools/Source/Python/AutoGen/__init__.py
trunk/BaseTools/Source/Python/Common/BuildToolError.py
trunk/BaseTools/Source/Python/Common/DataType.py
trunk/BaseTools/Source/Python/Common/Database.py
trunk/BaseTools/Source/Python/Common/DecClassObject.py
trunk/BaseTools/Source/Python/Common/DecClassObjectLight.py
trunk/BaseTools/Source/Python/Common/Dictionary.py
trunk/BaseTools/Source/Python/Common/DscClassObject.py
trunk/BaseTools/Source/Python/Common/EdkIIWorkspace.py
trunk/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py
trunk/BaseTools/Source/Python/Common/EdkLogger.py
trunk/BaseTools/Source/Python/Common/FdfClassObject.py
trunk/BaseTools/Source/Python/Common/FdfParserLite.py
trunk/BaseTools/Source/Python/Common/GlobalData.py
trunk/BaseTools/Source/Python/Common/Identification.py
trunk/BaseTools/Source/Python/Common/InfClassObject.py
trunk/BaseTools/Source/Python/Common/InfClassObjectLight.py
trunk/BaseTools/Source/Python/Common/MigrationUtilities.py
trunk/BaseTools/Source/Python/Common/Misc.py
trunk/BaseTools/Source/Python/Common/Parsing.py
trunk/BaseTools/Source/Python/Common/String.py
trunk/BaseTools/Source/Python/Common/TargetTxtClassObject.py
trunk/BaseTools/Source/Python/Common/ToolDefClassObject.py
trunk/BaseTools/Source/Python/Common/XmlParser.py
trunk/BaseTools/Source/Python/Common/XmlRoutines.py
trunk/BaseTools/Source/Python/Common/__init__.py
trunk/BaseTools/Source/Python/CommonDataClass/CommonClass.py
trunk/BaseTools/Source/Python/CommonDataClass/DataClass.py
trunk/BaseTools/Source/Python/CommonDataClass/DistributionPackageClass.py
trunk/BaseTools/Source/Python/CommonDataClass/FdfClass.py
trunk/BaseTools/Source/Python/CommonDataClass/ModuleClass.py
trunk/BaseTools/Source/Python/CommonDataClass/PackageClass.py
trunk/BaseTools/Source/Python/CommonDataClass/PlatformClass.py
trunk/BaseTools/Source/Python/CommonDataClass/__init__.py
trunk/BaseTools/Source/Python/Ecc/C.g
trunk/BaseTools/Source/Python/Ecc/CLexer.py
trunk/BaseTools/Source/Python/Ecc/CParser.py
trunk/BaseTools/Source/Python/Ecc/Check.py
trunk/BaseTools/Source/Python/Ecc/CodeFragment.py
trunk/BaseTools/Source/Python/Ecc/CodeFragmentCollector.py
trunk/BaseTools/Source/Python/Ecc/Configuration.py
trunk/BaseTools/Source/Python/Ecc/Database.py
trunk/BaseTools/Source/Python/Ecc/Ecc.py
trunk/BaseTools/Source/Python/Ecc/EccGlobalData.py
trunk/BaseTools/Source/Python/Ecc/EccToolError.py
trunk/BaseTools/Source/Python/Ecc/Exception.py
trunk/BaseTools/Source/Python/Ecc/FileProfile.py
trunk/BaseTools/Source/Python/Ecc/MetaDataParser.py
trunk/BaseTools/Source/Python/Ecc/ParserWarning.py
trunk/BaseTools/Source/Python/Ecc/__init__.py
trunk/BaseTools/Source/Python/Ecc/c.py
trunk/BaseTools/Source/Python/Ecc/config.ini
trunk/BaseTools/Source/Python/Ecc/exception.xml
trunk/BaseTools/Source/Python/Eot/CLexer.py
trunk/BaseTools/Source/Python/Eot/CParser.py
trunk/BaseTools/Source/Python/Eot/CodeFragment.py
trunk/BaseTools/Source/Python/Eot/CodeFragmentCollector.py
trunk/BaseTools/Source/Python/Eot/Database.py
trunk/BaseTools/Source/Python/Eot/Eot.py
trunk/BaseTools/Source/Python/Eot/EotGlobalData.py
trunk/BaseTools/Source/Python/Eot/EotToolError.py
trunk/BaseTools/Source/Python/Eot/FileProfile.py
trunk/BaseTools/Source/Python/Eot/FvImage.py
trunk/BaseTools/Source/Python/Eot/InfParserLite.py
trunk/BaseTools/Source/Python/Eot/Parser.py
trunk/BaseTools/Source/Python/Eot/ParserWarning.py
trunk/BaseTools/Source/Python/Eot/Report.py
trunk/BaseTools/Source/Python/Eot/__init__.py
trunk/BaseTools/Source/Python/Eot/c.py
trunk/BaseTools/Source/Python/Fdb/__init__.py
trunk/BaseTools/Source/Python/FixFlash/__init__.py
trunk/BaseTools/Source/Python/GNUmakefile
trunk/BaseTools/Source/Python/GenFds/AprioriSection.py
trunk/BaseTools/Source/Python/GenFds/Attribute.py
trunk/BaseTools/Source/Python/GenFds/Capsule.py
trunk/BaseTools/Source/Python/GenFds/CapsuleData.py
trunk/BaseTools/Source/Python/GenFds/ComponentStatement.py
trunk/BaseTools/Source/Python/GenFds/CompressSection.py
trunk/BaseTools/Source/Python/GenFds/DataSection.py
trunk/BaseTools/Source/Python/GenFds/DepexSection.py
trunk/BaseTools/Source/Python/GenFds/EfiSection.py
trunk/BaseTools/Source/Python/GenFds/Fd.py
trunk/BaseTools/Source/Python/GenFds/FdfParser.py
trunk/BaseTools/Source/Python/GenFds/Ffs.py
trunk/BaseTools/Source/Python/GenFds/FfsFileStatement.py
trunk/BaseTools/Source/Python/GenFds/FfsInfStatement.py
trunk/BaseTools/Source/Python/GenFds/Fv.py
trunk/BaseTools/Source/Python/GenFds/FvImageSection.py
trunk/BaseTools/Source/Python/GenFds/GenFds.py
trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
trunk/BaseTools/Source/Python/GenFds/GuidSection.py
trunk/BaseTools/Source/Python/GenFds/OptRomFileStatement.py
trunk/BaseTools/Source/Python/GenFds/OptRomInfStatement.py
trunk/BaseTools/Source/Python/GenFds/OptionRom.py
trunk/BaseTools/Source/Python/GenFds/Region.py
trunk/BaseTools/Source/Python/GenFds/Rule.py
trunk/BaseTools/Source/Python/GenFds/RuleComplexFile.py
trunk/BaseTools/Source/Python/GenFds/RuleSimpleFile.py
trunk/BaseTools/Source/Python/GenFds/Section.py
trunk/BaseTools/Source/Python/GenFds/UiSection.py
trunk/BaseTools/Source/Python/GenFds/VerSection.py
trunk/BaseTools/Source/Python/GenFds/Vtf.py
trunk/BaseTools/Source/Python/GenFds/__init__.py
trunk/BaseTools/Source/Python/GenPatchPcdTable/GenPatchPcdTable.py
trunk/BaseTools/Source/Python/GenPatchPcdTable/__init__.py
trunk/BaseTools/Source/Python/Makefile
trunk/BaseTools/Source/Python/MigrationMsa2Inf/AutoGenExterns.py
trunk/BaseTools/Source/Python/MigrationMsa2Inf/MigrationMsa2Inf.py
trunk/BaseTools/Source/Python/MigrationMsa2Inf/__init__.py
trunk/BaseTools/Source/Python/MkBOM/__init__.py
trunk/BaseTools/Source/Python/PackagingTool/DependencyRules.py
trunk/BaseTools/Source/Python/PackagingTool/InstallPkg.py
trunk/BaseTools/Source/Python/PackagingTool/IpiDb.py
trunk/BaseTools/Source/Python/PackagingTool/MkPkg.py
trunk/BaseTools/Source/Python/PackagingTool/PackageFile.py
trunk/BaseTools/Source/Python/PackagingTool/RmPkg.py
trunk/BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py
trunk/BaseTools/Source/Python/PatchPcdValue/__init__.py
trunk/BaseTools/Source/Python/Table/Table.py
trunk/BaseTools/Source/Python/Table/TableDataModel.py
trunk/BaseTools/Source/Python/Table/TableDec.py
trunk/BaseTools/Source/Python/Table/TableDsc.py
trunk/BaseTools/Source/Python/Table/TableEotReport.py
trunk/BaseTools/Source/Python/Table/TableFdf.py
trunk/BaseTools/Source/Python/Table/TableFile.py
trunk/BaseTools/Source/Python/Table/TableFunction.py
trunk/BaseTools/Source/Python/Table/TableIdentifier.py
trunk/BaseTools/Source/Python/Table/TableInf.py
trunk/BaseTools/Source/Python/Table/TablePcd.py
trunk/BaseTools/Source/Python/Table/TableQuery.py
trunk/BaseTools/Source/Python/Table/TableReport.py
trunk/BaseTools/Source/Python/Table/__init__.py
trunk/BaseTools/Source/Python/TargetTool/TargetTool.py
trunk/BaseTools/Source/Python/TargetTool/__init__.py
trunk/BaseTools/Source/Python/Trim/Trim.py
trunk/BaseTools/Source/Python/Workspace/BuildClassObject.py
trunk/BaseTools/Source/Python/Workspace/MetaDataTable.py
trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py
trunk/BaseTools/Source/Python/Workspace/MetaFileTable.py
trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
trunk/BaseTools/Source/Python/Workspace/__init__.py
trunk/BaseTools/Source/Python/build/BuildReport.py
trunk/BaseTools/Source/Python/build/__init__.py
trunk/BaseTools/Source/Python/build/build.py
trunk/BaseTools/Source/Python/fpd2dsc/EdkIIWorkspaceGuidsInfo.py
trunk/BaseTools/Source/Python/fpd2dsc/LoadFpd.py
trunk/BaseTools/Source/Python/fpd2dsc/MigrationUtilities.py
trunk/BaseTools/Source/Python/fpd2dsc/StoreDsc.py
trunk/BaseTools/Source/Python/fpd2dsc/__init__.py
trunk/BaseTools/Source/Python/fpd2dsc/fpd2dsc.py
trunk/BaseTools/Source/Python/msa2inf/ConvertModule.py
trunk/BaseTools/Source/Python/msa2inf/EdkIIWorkspaceGuidsInfo.py
trunk/BaseTools/Source/Python/msa2inf/LoadMsa.py
trunk/BaseTools/Source/Python/msa2inf/Msa2Inf.py
trunk/BaseTools/Source/Python/msa2inf/StoreInf.py
trunk/BaseTools/Source/Python/msa2inf/__init__.py
trunk/BaseTools/Source/Python/sitecustomize.py
trunk/BaseTools/Source/Python/spd2dec/ConvertPackage.py
trunk/BaseTools/Source/Python/spd2dec/LoadSpd.py
trunk/BaseTools/Source/Python/spd2dec/Spd2Dec.py
trunk/BaseTools/Source/Python/spd2dec/StoreDec.py
trunk/BaseTools/Source/Python/spd2dec/__init__.py
trunk/BaseTools/Tests/CToolsTests.py
trunk/BaseTools/Tests/CheckPythonSyntax.py
trunk/BaseTools/Tests/GNUmakefile
trunk/BaseTools/Tests/PythonToolsTests.py
trunk/BaseTools/Tests/RunTests.py
trunk/BaseTools/Tests/TestTools.py
trunk/BaseTools/Tests/TianoCompress.py
trunk/BaseTools/gcc/mingw-gcc-build.py
trunk/BaseTools/toolsetup.bat
Modified: trunk/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
===================================================================
--- trunk/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py 2010-04-29 04:34:48 UTC (rev 1959)
@@ -1,8 +1,8 @@
#!/usr/bin/env python
#
-# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
+# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
#
-# All rights reserved. This program and the accompanying materials
+# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
#
Modified: trunk/BaseTools/BuildEnv
===================================================================
--- trunk/BaseTools/BuildEnv 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/BuildEnv 2010-04-29 04:34:48 UTC (rev 1959)
@@ -1,6 +1,6 @@
#
-# Copyright (c) 2006 - 2007, Intel Corporation
-# All rights reserved. This program and the accompanying materials
+# Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
+# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
Modified: trunk/BaseTools/BuildNotes.txt
===================================================================
--- trunk/BaseTools/BuildNotes.txt 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/BuildNotes.txt 2010-04-29 04:34:48 UTC (rev 1959)
@@ -6,7 +6,7 @@
Intel is a trademark or registered trademark of Intel Corporation or its
subsidiaries in the United States and other countries.
* Other names and brands may be claimed as the property of others.
-Copyright (c) 2007, Intel Corporation
+Copyright (c) 2007, Intel Corporation. All rights reserved.
-------------------------------------------------------------------------------
Quick Start
Modified: trunk/BaseTools/Conf/FrameworkDatabase.template
===================================================================
--- trunk/BaseTools/Conf/FrameworkDatabase.template 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/FrameworkDatabase.template 2010-04-29 04:34:48 UTC (rev 1959)
@@ -8,7 +8,7 @@
<Description>
This Database tracks all packages and archives installed in this workspace.
</Description>
- <Copyright>Copyright (c) 2007 - 2009, Intel Corporation All rights reserved.</Copyright>
+ <Copyright>Copyright (c) 2007 - 2009, Intel Corporation. All rights reserved.</Copyright>
<License>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
Modified: trunk/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/DistributionPackage.xsd 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/DistributionPackage.xsd 2010-04-29 04:34:48 UTC (rev 1959)
@@ -2,7 +2,7 @@
<!--
Filename: DistributionPackage.xsd
-Copyright (c) 2008, Intel Corp. All rights reserved.
+Copyright (c) 2008, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which may be found at
Modified: trunk/BaseTools/Conf/XMLSchema/FarManifest.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/FarManifest.xsd 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/FarManifest.xsd 2010-04-29 04:34:48 UTC (rev 1959)
@@ -2,8 +2,8 @@
<!--
Filename: FarManifest.xsd
-Copyright (c) 2007, Intel Corp.
-All rights reserved. This program and the accompanying materials
+Copyright (c) 2007, Intel Corporation. All rights reserved.
+This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which may be found at http://opensource.org/licenses/bsd-license.php
Modified: trunk/BaseTools/Conf/XMLSchema/FrameworkDataAttributes.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/FrameworkDataAttributes.xsd 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/FrameworkDataAttributes.xsd 2010-04-29 04:34:48 UTC (rev 1959)
@@ -3,8 +3,8 @@
<!--
Filename: FrameworkDataAttributes.xsd
- Copyright (c) 2007, Intel Corp.
- All rights reserved. This program and the accompanying materials
+ Copyright (c) 2007, Intel Corporation. All rights reserved.
+ This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which may be found at http://opensource.org/licenses/bsd-license.php
Modified: trunk/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd 2010-04-29 04:34:48 UTC (rev 1959)
@@ -3,8 +3,8 @@
<!--
Filename: FrameworkDataElements.xsd
- Copyright (c) 2007, Intel Corp.
- All rights reserved. This program and the accompanying materials
+ Copyright (c) 2007, Intel Corporation. All rights reserved.
+ This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which may be found at http://opensource.org/licenses/bsd-license.php
Modified: trunk/BaseTools/Conf/XMLSchema/FrameworkDataTypes.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/FrameworkDataTypes.xsd 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/FrameworkDataTypes.xsd 2010-04-29 04:34:48 UTC (rev 1959)
@@ -3,8 +3,8 @@
<!--
Filename: FrameworkDataTypes.xsd
- Copyright (c) 2007, Intel Corp.
- All rights reserved. This program and the accompanying materials
+ Copyright (c) 2007, Intel Corporation. All rights reserved.
+ This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which may be found at http://opensource.org/licenses/bsd-license.php
Modified: trunk/BaseTools/Conf/XMLSchema/FrameworkHeaders.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/FrameworkHeaders.xsd 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/FrameworkHeaders.xsd 2010-04-29 04:34:48 UTC (rev 1959)
@@ -3,9 +3,9 @@
<!--
Filename: FrameworkHeaders.xsd
- Copyright (c) 2007, Intel Corp.
+ Copyright (c) 2007, Intel Corporation. All rights reserved.
- All rights reserved. This program and the accompanying materials
+ This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which may be found at http://opensource.org/licenses/bsd-license.php
Modified: trunk/BaseTools/Conf/XMLSchema/NamingConvention.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/NamingConvention.xsd 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/NamingConvention.xsd 2010-04-29 04:34:48 UTC (rev 1959)
@@ -3,8 +3,8 @@
<!--
Filename: NamingConvention.xsd
- Copyright (c) 2007, Intel Corp.
- All rights reserved. This program and the accompanying materials
+ Copyright (c) 2007, Intel Corporation. All rights reserved.
+ This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which may be found at http://opensource.org/licenses/bsd-license.php
Modified: trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsd 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsd 2010-04-29 04:34:48 UTC (rev 1959)
@@ -3,8 +3,8 @@
<!--
Filename: SurfaceArea.xsd
- Copyright (c) 2007, Intel Corp.
- All rights reserved. This program and the accompanying materials
+ Copyright (c) 2007, Intel Corporation. All rights reserved.
+ This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which may be found at http://opensource.org/licenses/bsd-license.php
Modified: trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsdconfig
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsdconfig 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsdconfig 2010-04-29 04:34:48 UTC (rev 1959)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
-Copyright (c) 2007, Intel Corp.
-All rights reserved. This program and the accompanying materials
+Copyright (c) 2007, Intel Corporation. All rights reserved.
+This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which may be found at http://opensource.org/licenses/bsd-license.php
Modified: trunk/BaseTools/Conf/XMLSchema/WorkspaceContent.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/WorkspaceContent.xsd 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/XMLSchema/WorkspaceContent.xsd 2010-04-29 04:34:48 UTC (rev 1959)
@@ -2,7 +2,7 @@
<!--
Filename: WorkspaceContent.xsd
- Copyright (c) 2008, Intel Corp. All rights reserved.
+ Copyright (c) 2008, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which may be found at
Modified: trunk/BaseTools/Conf/build_rule.template
===================================================================
--- trunk/BaseTools/Conf/build_rule.template 2010-04-28 21:42:45 UTC (rev 1958)
+++ trunk/BaseTools/Conf/build_rule.template 2010-04-29 04:34:48 UTC (rev 1959)
@@ -1,7 +1,7 @@
#
-# Copyright (c) 2007-2010, Intel Corporation
-# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
-# All rights r...
[truncated message content] |
|
From: <gee...@us...> - 2010-04-29 21:16:51
|
Revision: 1961
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1961&view=rev
Author: geekboy15a
Date: 2010-04-29 21:16:44 +0000 (Thu, 29 Apr 2010)
Log Message:
-----------
Added support to build with GCC 4.4 in X64 mode.
Modified Paths:
--------------
trunk/BaseTools/Conf/tools_def.template
Added Paths:
-----------
trunk/BaseTools/Scripts/
trunk/BaseTools/Scripts/gcc4.4-ld-script
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2010-04-29 09:24:53 UTC (rev 1960)
+++ trunk/BaseTools/Conf/tools_def.template 2010-04-29 21:16:44 UTC (rev 1961)
@@ -109,6 +109,8 @@
DEFINE GCC44_IA32_PREFIX = /usr/bin/
#DEFINE GCC44_IA32_PREFIX = ENV(HOME)/programs/gcc/4.4/ia32/
+DEFINE GCC44_X64_PREFIX = /usr/bin/
+#DEFINE GCC44_X64_PREFIX = ENV(HOME)/programs/gcc/4.4/x64/
DEFINE UNIX_IASL_BIN = /usr/bin/iasl
#DEFINE UNIX_IASL_BIN = $(HOME)/programs/iasl
@@ -1571,10 +1573,11 @@
DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-stack-protector -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -malign-double -D EFI32
-DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -Wno-address
+DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -DNO_BUILTIN_VA_FUNCS -mno-red-zone -Wno-address
DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections
DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry ReferenceAcpiTable -u ReferenceAcpiTable
DEFINE GCC44_IA32_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+DEFINE GCC44_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS) -melf_x86_64 --oformat=elf64-x86-64 --script=$(EDK_TOOLS_PATH)/Scripts/gcc4.4-ld-script
DEFINE GCC44_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
####################################################################################
@@ -1703,7 +1706,28 @@
*_GCC44_IA32_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS) -m elf_i386 --oformat=elf32-i386
*_GCC44_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+##################
+# GCC44 X64 definitions
+##################
+*_GCC44_X64_CC_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_SLINK_PATH = DEF(GCC44_X64_PREFIX)ar
+*_GCC44_X64_DLINK_PATH = DEF(GCC44_X64_PREFIX)ld
+*_GCC44_X64_ASLDLINK_PATH = DEF(GCC44_X64_PREFIX)ld
+*_GCC44_X64_ASM_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_PP_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_VFRPP_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_ASLCC_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_ASLPP_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_RC_PATH = DEF(GCC44_X64_PREFIX)objcopy
+*_GCC44_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64
+*_GCC44_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64
+*_GCC44_X64_ASM_FLAGS = DEF(GCC44_ASM_FLAGS) -m64 --64 -melf_x86_64
+*_GCC44_X64_CC_FLAGS = DEF(GCC44_X64_CC_FLAGS) -Os
+*_GCC44_X64_DLINK_FLAGS = DEF(GCC44_X64_DLINK_FLAGS)
+*_GCC44_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+
+
####################################################################################
#
# Cygwin GCC And Intel ACPI Compiler
Added: trunk/BaseTools/Scripts/gcc4.4-ld-script
===================================================================
--- trunk/BaseTools/Scripts/gcc4.4-ld-script (rev 0)
+++ trunk/BaseTools/Scripts/gcc4.4-ld-script 2010-04-29 21:16:44 UTC (rev 1961)
@@ -0,0 +1,43 @@
+/* OUTPUT_FORMAT(efi-bsdrv-x86_64) */
+SECTIONS
+{
+ /* . = 0 + SIZEOF_HEADERS; */
+ . = 0x280;
+ .text ALIGN(0x20) :
+ {
+ *(.text .stub .text.* .gnu.linkonce.t.*)
+ . = ALIGN(0x20);
+ } =0x90909090
+ .data ALIGN(0x20) :
+ {
+ *(
+ .rodata .rodata.* .gnu.linkonce.r.*
+ .data .data.* .gnu.linkonce.d.*
+ )
+ . = ALIGN(0x20);
+ }
+ .bss ALIGN(0x20) :
+ {
+ *(.bss .bss.*)
+ . = ALIGN(0x20);
+ }
+ .got ALIGN(0x20) :
+ {
+ *(.got .got.*)
+ . = ALIGN(0x20);
+ }
+ .rela ALIGN(0x20) :
+ {
+ *(.rela .rela.*)
+ }
+ /DISCARD/ : {
+ *(.note.GNU-stack) *(.gnu_debuglink)
+ *(.interp)
+ *(.dynsym)
+ *(.dynstr)
+ *(.dynamic)
+ *(.hash)
+ *(.comment)
+ }
+}
+
Property changes on: trunk/BaseTools/Scripts/gcc4.4-ld-script
___________________________________________________________________
Added: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gi...@us...> - 2010-08-05 03:03:18
|
Revision: 2007
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2007&view=rev
Author: gikidy
Date: 2010-08-05 03:03:10 +0000 (Thu, 05 Aug 2010)
Log Message:
-----------
BPDG implementation, included:
1) BPDG standalone tool
2) Autogen modification to launch BPDG tool if DSC contains VPD PCD.
Modified Paths:
--------------
trunk/BaseTools/Conf/tools_def.template
trunk/BaseTools/Source/Python/AutoGen/AutoGen.py
trunk/BaseTools/Source/Python/Common/DataType.py
trunk/BaseTools/Source/Python/Makefile
trunk/BaseTools/Source/Python/Workspace/BuildClassObject.py
trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
Added Paths:
-----------
trunk/BaseTools/Source/Python/BPDG/
trunk/BaseTools/Source/Python/BPDG/BPDG.py
trunk/BaseTools/Source/Python/BPDG/GenVpd.py
trunk/BaseTools/Source/Python/BPDG/StringTable.py
trunk/BaseTools/Source/Python/BPDG/__init__.py
trunk/BaseTools/Source/Python/Common/VpdInfoFile.py
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2010-07-31 19:31:14 UTC (rev 2006)
+++ trunk/BaseTools/Conf/tools_def.template 2010-08-05 03:03:10 UTC (rev 2007)
@@ -3501,3 +3501,8 @@
*_*_*_TIANO_PATH = TianoCompress
*_*_*_TIANO_GUID = A31280AD-481E-41B6-95E8-127F4C984779
+##################
+# BPDG tool definitions
+##################
+*_*_*_VPDTOOL_PATH = BPDG
+*_*_*_VPDTOOL_GUID = 8C3D856A-9BE6-468E-850A-24F7A8D38E08
Modified: trunk/BaseTools/Source/Python/AutoGen/AutoGen.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2010-07-31 19:31:14 UTC (rev 2006)
+++ trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2010-08-05 03:03:10 UTC (rev 2007)
@@ -34,6 +34,7 @@
from GenFds.FdfParser import *
from CommonDataClass.CommonClass import SkuInfoClass
from Workspace.BuildClassObject import *
+import Common.VpdInfoFile as VpdInfoFile
## Regular expression for splitting Dependency Expression stirng into tokens
gDepexTokenPattern = re.compile("(\(|\)|\w+| \S+\.inf)")
@@ -476,9 +477,14 @@
UnicodePcdArray = []
HiiPcdArray = []
OtherPcdArray = []
+ VpdFile = VpdInfoFile.VpdInfoFile()
+ NeedProcessVpdMapFile = False
+
for Pcd in self._DynamicPcdList:
# just pick the a value to determine whether is unicode string type
Sku = Pcd.SkuInfoList[Pcd.SkuInfoList.keys()[0]]
+ Sku.VpdOffset = Sku.VpdOffset.strip()
+
PcdValue = Sku.DefaultValue
if Pcd.DatumType == 'VOID*' and PcdValue.startswith("L"):
# if found PCD which datum value is unicode string the insert to left size of UnicodeIndex
@@ -488,6 +494,61 @@
HiiPcdArray.append(Pcd)
else:
OtherPcdArray.append(Pcd)
+
+ if Pcd.Type in [TAB_PCDS_DYNAMIC_VPD, TAB_PCDS_DYNAMIC_EX_VPD]:
+ VpdFile.Add(Pcd, Sku.VpdOffset)
+ # if the offset of a VPD is *, then it need to be fixed up by third party tool.
+ if not NeedProcessVpdMapFile and Sku.VpdOffset == "*":
+ NeedProcessVpdMapFile = True
+
+ if (self.Platform.FlashDefinition == None or self.Platform.FlashDefinition == '') and \
+ VpdFile.GetCount() != 0:
+ EdkLogger.error("build", ATTRIBUTE_NOT_AVAILABLE,
+ "Fail to get FLASH_DEFINITION definition in DSC file %s which is required when DSC contains VPD PCD." % str(self.Platform.MetaFile))
+
+ if VpdFile.GetCount() != 0:
+ WorkspaceDb = self.BuildDatabase.WorkspaceDb
+ DscTimeStamp = WorkspaceDb.GetTimeStamp(WorkspaceDb.GetFileId(str(self.Platform.MetaFile)))
+ FvPath = os.path.join(self.BuildDir, "FV")
+ if not os.path.exists(FvPath):
+ try:
+ os.makedirs(FvPath)
+ except:
+ EdkLogger.error("build", FILE_WRITE_FAILURE, "Fail to create FV folder under %s" % self.BuildDir)
+
+ VpdFilePath = os.path.join(FvPath, "%s.txt" % self.Platform.VpdToolGuid)
+ if not os.path.exists(VpdFilePath) or os.path.getmtime(VpdFilePath) < DscTimeStamp:
+ VpdFile.Write(VpdFilePath)
+
+ # retrieve BPDG tool's path from tool_def.txt according to VPD_TOOL_GUID defined in DSC file.
+ BPDGToolName = None
+ for ToolDef in self.ToolDefinition.values():
+ if ToolDef.has_key("GUID") and ToolDef["GUID"] == self.Platform.VpdToolGuid:
+ if not ToolDef.has_key("PATH"):
+ EdkLogger.error("build", ATTRIBUTE_NOT_AVAILABLE, "PATH attribute was not provided for BPDG guid tool %s in tools_def.txt" % self.Platform.VpdToolGuid)
+ BPDGToolName = ToolDef["PATH"]
+ break
+
+ # Call third party GUID BPDG tool.
+ if BPDGToolName != None:
+ VpdInfoFile.CallExtenalBPDGTool(BPDGToolName, VpdFilePath)
+ else:
+ EdkLogger.error("Build", FILE_NOT_FOUND, "Fail to find third-party BPDG tool to process VPD PCDs. BPDG Guid tool need to be defined in tools_def.txt and VPD_TOOL_GUID need to be provided in DSC file.")
+
+ # Process VPD map file generated by third party BPDG tool
+ if NeedProcessVpdMapFile:
+ VpdMapFilePath = os.path.join(self.BuildDir, "FV", "%s.map" % self.Platform.VpdToolGuid)
+ if os.path.exists(VpdMapFilePath):
+ VpdFile.Read(VpdMapFilePath)
+
+ # Fixup "*" offset
+ for Pcd in self._DynamicPcdList:
+ # just pick the a value to determine whether is unicode string type
+ Sku = Pcd.SkuInfoList[Pcd.SkuInfoList.keys()[0]]
+ if Sku.VpdOffset == "*":
+ Sku.VpdOffset = VpdFile.GetOffset(Pcd)[0]
+ else:
+ EdkLogger.error("build", FILE_READ_FAILURE, "Can not find VPD map file %s to fix up VPD offset." % VpdMapFilePath)
del self._DynamicPcdList[:]
self._DynamicPcdList.extend(UnicodePcdArray)
self._DynamicPcdList.extend(HiiPcdArray)
Added: trunk/BaseTools/Source/Python/BPDG/BPDG.py
===================================================================
--- trunk/BaseTools/Source/Python/BPDG/BPDG.py (rev 0)
+++ trunk/BaseTools/Source/Python/BPDG/BPDG.py 2010-08-05 03:03:10 UTC (rev 2007)
@@ -0,0 +1,137 @@
+## @file
+# Intel Binary Product Data Generation Tool (Intel BPDG).
+# This tool provide a simple process for the creation of a binary file containing read-only
+# configuration data for EDK II platforms that contain Dynamic and DynamicEx PCDs described
+# in VPD sections. It also provide an option for specifying an alternate name for a mapping
+# file of PCD layout for use during the build when the platform integrator selects to use
+# automatic offset calculation.
+#
+# Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+#
+# This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+
+##
+# Import Modules
+#
+import os
+import sys
+from optparse import OptionParser
+from encodings import gbk
+from Common import EdkLogger
+from Common.BuildToolError import *
+
+import StringTable as st
+import GenVpd
+
+PROJECT_NAME = st.LBL_BPDG_LONG_UNI
+VERSION = st.LBL_BPDG_VERSION
+
+## Tool entrance method
+#
+# This method mainly dispatch specific methods per the command line options.
+# If no error found, return zero value so the caller of this tool can know
+# if it's executed successfully or not.
+#
+# @retval 0 Tool was successful
+# @retval 1 Tool failed
+#
+def main():
+ global Options, Args
+ Options, Args = myOptionParser()
+
+ ReturnCode = 0
+ # Initialize log system
+ EdkLogger.Initialize()
+
+ if Options.opt_slient:
+ EdkLogger.SetLevel(EdkLogger.ERROR)
+ elif Options.opt_verbose:
+ EdkLogger.SetLevel(EdkLogger.VERBOSE)
+ elif Options.opt_quiet:
+ EdkLogger.SetLevel(EdkLogger.QUIET)
+ elif Options.opt_debug != None:
+ EdkLogger.SetLevel(Options.opt_debug + 1)
+ else:
+ EdkLogger.SetLevel(EdkLogger.INFO)
+
+ if Options.opt_vpd_filename == None:
+ EdkLogger.error("bpdg", ATTRIBUTE_NOT_AVAILABLE, "Please use the -o option to specify the file name for the VPD binary file")
+ if Options.opt_map_file == None:
+ EdkLogger.error("bpdg", ATTRIBUTE_NOT_AVAILABLE, "Please use the -m option to specify the file name for the mapping file")
+
+ Force = False
+ if Options.opt_force != None:
+ Force = True
+
+ if (Args[0] != None) :
+ startBPDG(Args[0], Options.opt_map_file, Options.opt_vpd_filename, Force)
+ else :
+ EdkLogger.error("bpdg", ATTRIBUTE_NOT_AVAILABLE, "Please specify the file which contain the VPD pcd info.",
+ None)
+
+ return ReturnCode
+
+def myOptionParser():
+ #
+ # Process command line firstly.
+ #
+ parser = OptionParser(version="%s - Version %s\n" % (PROJECT_NAME, VERSION),
+ description=PROJECT_NAME,
+ prog='bpdg',
+ usage=st.LBL_BPDG_USAGE
+ )
+ parser.add_option('-d', '--debug', action='store', type="int", dest='opt_debug',
+ help=st.MSG_OPTION_DEBUG_LEVEL)
+ parser.add_option('-v', '--verbose', action='store_true', dest='opt_verbose',
+ help=st.MSG_OPTION_VERBOSE)
+ parser.add_option('-s', '--silent', action='store_true', dest='opt_slient', default=False,
+ help=st.MSG_OPTION_SILENT)
+ parser.add_option('-q', '--quiet', action='store_true', dest='opt_quiet', default=False,
+ help=st.MSG_OPTION_QUIET)
+ parser.add_option('-o', '--vpd-filename', action='store', dest='opt_vpd_filename',
+ help=st.MSG_OPTION_VPD_FILENAME)
+ parser.add_option('-m', '--map-filename', action='store', dest='opt_map_file',
+ help=st.MSG_OPTION_MAP_FILENAME)
+ parser.add_option('-f', '--force', action='store_true', dest='opt_force',
+ help=st.MSG_OPTION_FORCE)
+
+ (options, args) = parser.parse_args()
+ if len(args) == 0:
+ print parser.usage
+ sys.exit(1)
+ return options, args
+
+def startBPDG(InputFileName, MapFileName, VpdFileName, Force):
+ if os.path.exists(VpdFileName) and not Force:
+ print "\nFile %s already exist, Overwrite(Yes/No)?[Y]: " % VpdFileName
+ choice = sys.stdin.readline()
+ if choice.strip().lower() not in ['y', 'yes', '']:
+ return
+
+ GenVPD = GenVpd.GenVPD (InputFileName, MapFileName, VpdFileName)
+
+ EdkLogger.info('%-24s = %s' % ("VPD input data file: ", InputFileName))
+ EdkLogger.info('%-24s = %s' % ("VPD output map file: ", MapFileName))
+ EdkLogger.info('%-24s = %s' % ("VPD output binary file: ", VpdFileName))
+
+ GenVPD.ParserInputFile()
+ GenVPD.FormatFileLine()
+ GenVPD.FixVpdOffset()
+ GenVPD.GenerateVpdFile(MapFileName, VpdFileName)
+
+ EdkLogger.info("- Done! -")
+
+if __name__ == '__main__':
+ r = main()
+ ## 0-127 is a safe return range, and 1 is a standard default error
+ if r < 0 or r > 127: r = 1
+ sys.exit(r)
+
+
Added: trunk/BaseTools/Source/Python/BPDG/GenVpd.py
===================================================================
--- trunk/BaseTools/Source/Python/BPDG/GenVpd.py (rev 0)
+++ trunk/BaseTools/Source/Python/BPDG/GenVpd.py 2010-08-05 03:03:10 UTC (rev 2007)
@@ -0,0 +1,494 @@
+## @file
+#
+# Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+#
+# This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+
+import os
+import StringIO
+import StringTable as st
+import array
+
+from struct import *
+import Common.EdkLogger as EdkLogger
+import Common.BuildToolError as BuildToolError
+
+_FORMAT_CHAR = {1: 'B',
+ 2: 'H',
+ 4: 'I',
+ 8: 'Q'
+ }
+
+class PcdEntry:
+ def __init__(self, PcdCName, PcdOffset, PcdSize, PcdValue, PcdUnpackValue=None,
+ PcdBinOffset=None, PcdBinSize=None):
+ self.PcdCName = PcdCName.strip()
+ self.PcdOffset = PcdOffset.strip()
+ self.PcdSize = PcdSize.strip()
+ self.PcdValue = PcdValue.strip()
+ self.PcdUnpackValue = PcdUnpackValue
+ self.PcdBinOffset = PcdBinOffset
+ self.PcdBinSize = PcdBinSize
+
+ self._GenOffsetValue ()
+
+ def _IsBoolean(self, ValueString):
+ if ValueString.upper() in ["TRUE", "FALSE"]:
+ return True
+ return False
+
+ def _GenOffsetValue(self):
+ if self.PcdOffset != "*" :
+ try:
+ self.PcdBinOffset = int (self.PcdOffset)
+ except:
+ try:
+ self.PcdBinOffset = int(self.PcdOffset, 16)
+ except:
+ EdkLogger.error("bpdg", BuildToolError.FORMAT_INVALID,
+ "Invalid offset value %s for PCD %s" % (self.PcdOffset, self.PcdCName))
+
+ def _PackBooleanValue(self, ValueString):
+ if ValueString.upper() == "TRUE":
+ self.PcdValue = pack(_FORMAT_CHAR[1], 1)
+ else:
+ self.PcdValue = pack(_FORMAT_CHAR[1], 0)
+
+ def _PackIntValue(self, IntValue, Size):
+ if Size not in _FORMAT_CHAR.keys():
+ EdkLogger.error("bpdg", BuildToolError.FORMAT_INVALID,
+ "Invalid size %d for PCD in integer datum size." % Size)
+ self.PcdValue = pack(_FORMAT_CHAR[Size], IntValue)
+
+ def _PackPtrValue(self, ValueString, Size):
+ if ValueString.startswith('L"'):
+ self._PackUnicode(ValueString, Size)
+ elif ValueString.startswith('{') and ValueString.endswith('}'):
+ self._PackByteArray(ValueString, Size)
+ elif ValueString.startswith('"') and ValueString.endswith('"'):
+ self._PackString(ValueString, Size)
+ else:
+ EdkLogger.error("bpdg", BuildToolError.FORMAT_INVALID,
+ "Invalid VOID* type PCD value %s" % ValueString)
+
+ def _PackString(self, ValueString, Size):
+ assert Size > 0, "Invalid parameter Size!"
+ assert ValueString != "", "Invalid parameter ValueString"
+ assert len(ValueString) >= 2, 'An ASCII string at least contains two "'
+
+ ValueString = ValueString[1:-1]
+ if len(ValueString) + 1 > Size:
+ EdkLogger.error("bpdg", BuildToolError.RESOURCE_OVERFLOW,
+ "PCD value string %s is exceed to size %d" % (ValueString, Size))
+ self.PcdValue= pack('%ds' % Size, ValueString)
+
+ def _PackByteArray(self, ValueString, Size):
+ assert Size > 0, "Invalid parameter Size!"
+ assert ValueString != "", "Invalid parameter ValueString"
+
+ ValueString = ValueString.strip()
+ ValueString = ValueString.lstrip('{').strip('}')
+ ValueList = ValueString.split(',')
+ ValueList = [item.strip() for item in ValueList]
+
+ if len(ValueList) > Size:
+ EdkLogger.error("bpdg", BuildToolError.RESOURCE_OVERFLOW,
+ "The byte array %s is too large for size %d" % (ValueString, Size))
+
+ ReturnArray = array.array('B')
+
+ for Index in xrange(len(ValueList)):
+ Value = None
+ if ValueList[Index].startswith('0x'):
+ # translate hex value
+ try:
+ Value = int(ValueList[Index], 16)
+ except:
+ EdkLogger.error("bpdg", BuildToolError.FORMAT_INVALID,
+ "The value item %s in byte array %s is an invalid HEX value." % \
+ (ValueList[Index], ValueString))
+ else:
+ # translate decimal value
+ try:
+ Value = int(ValueList[Index], 10)
+ except:
+ EdkLogger.error("bpdg", BuildToolError.FORMAT_INVALID,
+ "The value item %s in byte array %s is an invalid DECIMAL value." % \
+ (ValueList[Index], ValueString))
+
+ if Value > 255:
+ EdkLogger.error("bpdg", BuildToolError.FORMAT_INVALID,
+ "The value item %s in byte array %s do not in range 0 ~ 0xFF" %\
+ (ValueList[Index], ValueString))
+
+ ReturnArray.append(Value)
+
+ for Index in xrange(len(ValueList), Size):
+ ReturnArray.append(0)
+
+ self.PcdValue = ReturnArray.tolist()
+
+ ## Pack a unicode PCD value into byte array.
+ #
+ # A unicode string for a PCD should be in format as L"".
+ #
+ def _PackUnicode(self, UnicodeString, Size):
+ assert Size > 0, "Invalid parameter Size"
+ assert len(UnicodeString) >= 3, "Invalid parameter UnicodeString"
+
+ UnicodeString = UnicodeString[2:-1]
+
+ if (len(UnicodeString) + 1) * 2 > Size:
+ EdkLogger.error("bpdg", BuildToolError.RESOURCE_OVERFLOW,
+ "The size of unicode string %s is too larger for size %s" % \
+ (UnicodeString, Size))
+
+ ReturnArray = array.array('B')
+ for Value in UnicodeString:
+ try:
+ ReturnArray.append(ord(Value))
+ ReturnArray.append(0)
+ except:
+ EdkLogger.error("bpdg", BuildToolError.FORMAT_INVALID,
+ "Invalid unicode character %s in unicode string %s" % \
+ (Value, UnicodeString))
+
+ for Index in range(len(UnicodeString) * 2, Size):
+ ReturnArray.append(0)
+
+ self.PcdValue = ReturnArray.tolist()
+
+class GenVPD :
+
+ ## Constructor of DscBuildData
+ #
+ # Initialize object of GenVPD
+ # @Param InputFileName The filename include the vpd type pcd information
+ # @param MapFileName The filename of map file that stores vpd type pcd information.
+ # This file will be generated by the BPDG tool after fix the offset
+ # and adjust the offset to make the pcd data aligned.
+ # @param VpdFileName The filename of Vpd file that hold vpd pcd information.
+ #
+ def __init__(self, InputFileName, MapFileName, VpdFileName):
+ self.InputFileName = InputFileName
+ self.MapFileName = MapFileName
+ self.VpdFileName = VpdFileName
+ self.FileLinesList = []
+ self.PcdFixedOffsetSizeList = []
+ self.PcdUnknownOffsetList = []
+ try:
+ print InputFileName
+ fInputfile = open(InputFileName, "r", 0)
+ try:
+ self.FileLinesList = fInputfile.readlines()
+ except:
+ EdkLogger.error("bpdg", BuildToolError.FILE_READ_FAILURE, "File read failed for %s" %InputFileName,None)
+ finally:
+ fInputfile.close()
+ except:
+ EdkLogger.error("bpdg", BuildToolError.FILE_OPEN_FAILURE, "File open failed for %s" %InputFileName,None)
+
+ ##
+ # Parser the input file which is generated by the build tool. Convert the value of each pcd's
+ # from string to it's real format. Also remove the useless line in the input file.
+ #
+ def ParserInputFile (self):
+ count = 0
+ for line in self.FileLinesList:
+ # Strip "\r\n" generated by readlines ().
+ line = line.strip()
+ line = line.rstrip(os.linesep)
+
+ # Skip the comment line
+ if (not line.startswith("#")) and len(line) > 1 :
+ self.FileLinesList[count] = line.split('|')
+ elif len(line) <= 1 :
+ # Set the blank line to "None"
+ self.FileLinesList[count] = None
+ else :
+ # Set the comment line to "None"
+ self.FileLinesList[count] = None
+ count += 1
+
+ # The line count contain usage information
+ count = 0
+ # Delete useless lines
+ while (True) :
+ try :
+ if (self.FileLinesList[count] == None) :
+ del(self.FileLinesList[count])
+ else :
+ count += 1
+ except :
+ break
+ #
+ # After remove the useless line, if there are no data remain in the file line list,
+ # Report warning messages to user's.
+ #
+ if len(self.FileLinesList) == 0 :
+ EdkLogger.warn('bpdg', BuildToolError.RESOURCE_NOT_AVAILABLE,
+ "There are no VPD type pcds defined in DSC file, Please check it.")
+
+ # Process the pcds one by one base on the pcd's value and size
+ count = 0
+ for line in self.FileLinesList:
+ if line != None :
+ PCD = PcdEntry(line[0], line[1], line[2], line[3])
+ # Strip the space char
+ PCD.PcdCName = PCD.PcdCName.strip(' ')
+ PCD.PcdOffset = PCD.PcdOffset.strip(' ')
+ PCD.PcdSize = PCD.PcdSize.strip(' ')
+ PCD.PcdValue = PCD.PcdValue.strip(' ')
+
+ #
+ # Store the original pcd value.
+ # This information will be useful while generate the output map file.
+ #
+ PCD.PcdUnpackValue = str(PCD.PcdValue)
+
+ #
+ # Translate PCD size string to an integer value.
+ PackSize = None
+ try:
+ PackSize = int(PCD.PcdSize, 10)
+ PCD.PcdBinSize = PackSize
+ except:
+ try:
+ PackSize = int(PCD.PcdSize, 16)
+ PCD.PcdBinSize = PackSize
+ except:
+ EdkLogger.error("bpdg", BuildToolError.FORMAT_INVALID, "Invalid PCD size value %s" % PCD.PcdSize)
+
+ if PCD._IsBoolean(PCD.PcdValue):
+ PCD._PackBooleanValue(PCD.PcdValue)
+ self.FileLinesList[count] = PCD
+ count += 1
+ continue
+ #
+ # Try to translate value to an integer firstly.
+ #
+ IsInteger = True
+ PackValue = None
+ try:
+ PackValue = int(PCD.PcdValue)
+ except:
+ try:
+ PackValue = int(PCD.PcdValue, 16)
+ except:
+ IsInteger = False
+
+ if IsInteger:
+ PCD._PackIntValue(PackValue, PackSize)
+ else:
+ PCD._PackPtrValue(PCD.PcdValue, PackSize)
+
+ self.FileLinesList[count] = PCD
+ count += 1
+ else :
+ continue
+
+ ##
+ # This function used to create a clean list only contain useful information and reorganized to make it
+ # easy to be sorted
+ #
+ def FormatFileLine (self) :
+
+ for eachPcd in self.FileLinesList :
+ if eachPcd.PcdOffset != '*' :
+ # Use pcd's Offset value as key, and pcd's Value as value
+ self.PcdFixedOffsetSizeList.append(eachPcd)
+ else :
+ # Use pcd's CName as key, and pcd's Size as value
+ self.PcdUnknownOffsetList.append(eachPcd)
+
+
+ ##
+ # This function is use to fix the offset value which the not specified in the map file.
+ # Usually it use the star (meaning any offset) character in the offset field
+ #
+ def FixVpdOffset (self):
+ # At first, the offset should start at 0
+ # Sort fixed offset list in order to find out where has free spaces for the pcd's offset
+ # value is "*" to insert into.
+
+ self.PcdFixedOffsetSizeList.sort(lambda x,y: cmp(x.PcdBinOffset, y.PcdBinOffset))
+
+ #
+ # Sort the un-fixed pcd's offset by it's size.
+ #
+ self.PcdUnknownOffsetList.sort(lambda x,y: cmp(x.PcdBinSize, y.PcdBinSize))
+
+ # Check the offset of VPD type pcd's offset start from 0.
+ if self.PcdFixedOffsetSizeList[0].PcdBinOffset != 0 :
+ EdkLogger.warn("bpdg", "The offset of VPD type pcd should start with 0, please check it.",
+ None)
+
+ # Judge whether the offset in fixed pcd offset list is overlapped or not.
+ lenOfList = len(self.PcdFixedOffsetSizeList)
+ count = 0
+ while (count < lenOfList - 1) :
+ PcdNow = self.PcdFixedOffsetSizeList[count]
+ PcdNext = self.PcdFixedOffsetSizeList[count+1]
+ # Two pcd's offset is same
+ if PcdNow.PcdBinOffset == PcdNext.PcdBinOffset :
+ EdkLogger.error("bpdg", BuildToolError.ATTRIBUTE_GET_FAILURE,
+ "The offset of %s is same with %s" % (PcdNow.PcdCName, PcdNext.PcdCName),
+ None)
+
+ # Overlapped
+ if PcdNow.PcdBinOffset + PcdNow.PcdBinSize > PcdNext.PcdBinOffset :
+ EdkLogger.error("bpdg", BuildToolError.ATTRIBUTE_GET_FAILURE,
+ "The offset of %s is overlapped with %s" % (PcdNow.PcdCName, PcdNext.PcdCName),
+ None)
+
+ # Has free space, raise a warning message
+ if PcdNow.PcdBinOffset + PcdNow.PcdBinSize < PcdNext.PcdBinOffset :
+ EdkLogger.warn("bpdg", BuildToolError.ATTRIBUTE_GET_FAILURE,
+ "The offsets have free space of between %s and %s" % (PcdNow.PcdCName, PcdNext.PcdCName),
+ None)
+ count += 1
+
+ LastOffset = self.PcdFixedOffsetSizeList[0].PcdBinOffset
+ FixOffsetSizeListCount = 0
+ lenOfList = len(self.PcdFixedOffsetSizeList)
+ lenOfUnfixedList = len(self.PcdUnknownOffsetList)
+
+ ##
+ # Insert the un-fixed offset pcd's list into fixed offset pcd's list if has free space between those pcds.
+ #
+ while (FixOffsetSizeListCount < lenOfList) :
+
+ eachFixedPcd = self.PcdFixedOffsetSizeList[FixOffsetSizeListCount]
+ NowOffset = eachFixedPcd.PcdBinOffset
+
+ # Has free space
+ if LastOffset < NowOffset :
+ if lenOfUnfixedList != 0 :
+ countOfUnfixedList = 0
+ while(countOfUnfixedList < lenOfUnfixedList) :
+ #needFixPcdCName, needFixPcdOffset, needFixPcdSize, needFixPcdValue, needFixUnpackValue = self.PcdUnknownOffsetList[countOfUnfixedList][0:6]
+ eachUnfixedPcd = self.PcdUnknownOffsetList[countOfUnfixedList]
+ needFixPcdSize = eachUnfixedPcd.PcdBinSize
+ needFixPcdOffset = eachUnfixedPcd.PcdOffset
+ # Not been fixed
+ if eachUnfixedPcd.PcdOffset == '*' :
+ # The offset un-fixed pcd can write into this free space
+ if needFixPcdSize <= (NowOffset - LastOffset) :
+ # Change the offset value of un-fixed pcd
+ eachUnfixedPcd.PcdOffset = str(hex(LastOffset))
+ eachUnfixedPcd.PcdBinOffset = LastOffset
+ # Insert this pcd into fixed offset pcd list.
+ self.PcdFixedOffsetSizeList.i...
[truncated message content] |
|
From: <gi...@us...> - 2010-08-09 09:59:17
|
Revision: 2011
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2011&view=rev
Author: gikidy
Date: 2010-08-09 09:59:10 +0000 (Mon, 09 Aug 2010)
Log Message:
-----------
Fix incompatible issues of call BPDG under Linux environment.
Modified Paths:
--------------
trunk/BaseTools/Source/Python/Common/VpdInfoFile.py
trunk/BaseTools/Source/Python/GNUmakefile
Added Paths:
-----------
trunk/BaseTools/BinWrappers/PosixLike/BPDG
Added: trunk/BaseTools/BinWrappers/PosixLike/BPDG
===================================================================
--- trunk/BaseTools/BinWrappers/PosixLike/BPDG (rev 0)
+++ trunk/BaseTools/BinWrappers/PosixLike/BPDG 2010-08-09 09:59:10 UTC (rev 2011)
@@ -0,0 +1 @@
+RunToolFromSource
\ No newline at end of file
Modified: trunk/BaseTools/Source/Python/Common/VpdInfoFile.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/VpdInfoFile.py 2010-08-06 11:31:57 UTC (rev 2010)
+++ trunk/BaseTools/Source/Python/Common/VpdInfoFile.py 2010-08-09 09:59:10 UTC (rev 2011)
@@ -219,18 +219,19 @@
BaseName, ext = os.path.splitext(FileName)
OutputMapFileName = os.path.join(OutputDir, "%s.map" % BaseName)
OutputBinFileName = os.path.join(OutputDir, "%s.bin" % BaseName)
- cmd = [ToolPath]
- cmd += ["-o %s" % OutputBinFileName,]
- cmd += ["-m %s" % OutputMapFileName, ]
- cmd += ["-s",]
- cmd += ["-f",]
- cmd += ["-v",]
- cmd += [VpdFileName, ]
try:
- PopenObject = subprocess.Popen(' '.join(cmd), stdout=subprocess.PIPE, stderr= subprocess.PIPE)
+ PopenObject = subprocess.Popen([ToolPath,
+ '-o', OutputBinFileName,
+ '-m', OutputMapFileName,
+ '-s',
+ '-f',
+ '-v',
+ VpdFileName],
+ stdout=subprocess.PIPE,
+ stderr= subprocess.PIPE)
except Exception, X:
- EdkLogger.error("BPDG", BuildToolError.COMMAND_FAILURE, ExtraData="%s: %s" % (str(X), cmd[0]))
+ EdkLogger.error("BPDG", BuildToolError.COMMAND_FAILURE, ExtraData="%s" % (str(X)))
(out, error) = PopenObject.communicate()
print out
while PopenObject.returncode == None :
Modified: trunk/BaseTools/Source/Python/GNUmakefile
===================================================================
--- trunk/BaseTools/Source/Python/GNUmakefile 2010-08-06 11:31:57 UTC (rev 2010)
+++ trunk/BaseTools/Source/Python/GNUmakefile 2010-08-09 09:59:10 UTC (rev 2011)
@@ -1,5 +1,5 @@
## @file
-# Windows makefile for Python tools build.
+# Linux makefile for Python tools build.
#
# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <qh...@us...> - 2010-10-08 00:46:24
|
Revision: 2064
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2064&view=rev
Author: qhuang8
Date: 2010-10-08 00:46:18 +0000 (Fri, 08 Oct 2010)
Log Message:
-----------
Update Trim tool to support the search of the ASL source directory plus the extra include path list to find the included file specified in the ASL source.
Modified Paths:
--------------
trunk/BaseTools/Conf/build_rule.template
trunk/BaseTools/Source/Python/Trim/Trim.py
Modified: trunk/BaseTools/Conf/build_rule.template
===================================================================
--- trunk/BaseTools/Conf/build_rule.template 2010-10-05 23:35:51 UTC (rev 2063)
+++ trunk/BaseTools/Conf/build_rule.template 2010-10-08 00:46:18 UTC (rev 2064)
@@ -343,13 +343,13 @@
$(MAKE_FILE)
<Command.MSFT, Command.INTEL>
- Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i ${src}
+ Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i -i $(INC_LIST) ${src}
"$(ASLPP)" $(ASLPP_FLAGS) $(INC) /I${s_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
"$(ASL)" $(ASL_FLAGS) $(ASL_OUTFLAGS)${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii
<Command.GCC>
- Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i ${src}
+ Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i -i $(INC_LIST) ${src}
"$(ASLPP)" $(ASLPP_FLAGS) $(INC) -I${s_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
"$(ASL)" $(ASL_FLAGS) $(ASL_OUTFLAGS)${dst} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
Modified: trunk/BaseTools/Source/Python/Trim/Trim.py
===================================================================
--- trunk/BaseTools/Source/Python/Trim/Trim.py 2010-10-05 23:35:51 UTC (rev 2063)
+++ trunk/BaseTools/Source/Python/Trim/Trim.py 2010-10-08 00:46:18 UTC (rev 2064)
@@ -270,23 +270,33 @@
## Read the content ASL file, including ASL included, recursively
#
-# @param Source File to be read
-# @param Indent Spaces before the Include() statement
+# @param Source File to be read
+# @param Indent Spaces before the Include() statement
+# @param IncludePathList The list of external include file
#
-def DoInclude(Source, Indent=''):
+def DoInclude(Source, Indent='', IncludePathList=[]):
NewFileContent = []
- # avoid A "include" B and B "include" A
- if Source in gIncludedAslFile:
- EdkLogger.warn("Trim", "Circular include",
- ExtraData= "%s -> %s" % (" -> ".join(gIncludedAslFile), Source))
- return []
- gIncludedAslFile.append(Source)
try:
- F = open(Source,'r')
+ for IncludePath in IncludePathList:
+ IncludeFile = os.path.join(IncludePath, Source)
+ if os.path.isfile(IncludeFile):
+ F = open(IncludeFile, "r")
+ break
+ else:
+ EdkLogger.error("Trim", "Failed to find include file %s" % Source)
except:
EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=Source)
+
+ # avoid A "include" B and B "include" A
+ IncludeFile = os.path.abspath(os.path.normpath(IncludeFile))
+ if IncludeFile in gIncludedAslFile:
+ EdkLogger.warn("Trim", "Circular include",
+ ExtraData= "%s -> %s" % (" -> ".join(gIncludedAslFile), IncludeFile))
+ return []
+ gIncludedAslFile.append(IncludeFile)
+
for Line in F:
Result = gAslIncludePattern.findall(Line)
if len(Result) == 0:
@@ -296,7 +306,7 @@
continue
CurrentIndent = Indent + Result[0][0]
IncludedFile = Result[0][1]
- NewFileContent.extend(DoInclude(IncludedFile, CurrentIndent))
+ NewFileContent.extend(DoInclude(IncludedFile, CurrentIndent, IncludePathList))
NewFileContent.append("\n")
gIncludedAslFile.pop()
@@ -309,20 +319,40 @@
#
# Replace ASL include statement with the content the included file
#
-# @param Source File to be trimmed
-# @param Target File to store the trimmed content
+# @param Source File to be trimmed
+# @param Target File to store the trimmed content
+# @param IncludePathFile The file to log the external include path
#
-def TrimAslFile(Source, Target):
+def TrimAslFile(Source, Target, IncludePathFile):
CreateDirectory(os.path.dirname(Target))
- Cwd = os.getcwd()
SourceDir = os.path.dirname(Source)
if SourceDir == '':
SourceDir = '.'
- os.chdir(SourceDir)
- Lines = DoInclude(Source)
- os.chdir(Cwd)
+
+ #
+ # Add source directory as the first search directory
+ #
+ IncludePathList = [SourceDir]
+
+ #
+ # If additional include path file is specified, append them all
+ # to the search directory list.
+ #
+ if IncludePathFile:
+ try:
+ LineNum = 0
+ for Line in open(IncludePathFile,'r'):
+ LineNum += 1
+ if Line.startswith("/I") or Line.startswith ("-I"):
+ IncludePathList.append(Line[2:].strip())
+ else:
+ EdkLogger.warn("Trim", "Invalid include line in include list file.", IncludePathFile, LineNum)
+ except:
+ EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=IncludePathFile)
+ Lines = DoInclude(Source, '', IncludePathList)
+
#
# Undef MIN and MAX to avoid collision in ASL source code
#
@@ -452,7 +482,8 @@
make_option("-l", "--trim-long", dest="TrimLong", action="store_true",
help="Remove postfix of long number"),
-
+ make_option("-i", "--include-path-file", dest="IncludePathFile",
+ help="The input file is include path list to search for ASL include file"),
make_option("-o", "--output", dest="OutputFile",
help="File to store the trimmed content"),
make_option("-v", "--verbose", dest="LogLevel", action="store_const", const=EdkLogger.VERBOSE,
@@ -465,7 +496,7 @@
]
# use clearer usage to override default usage message
- UsageString = "%prog [-s|-r|-a] [-c] [-v|-d <debug_level>|-q] [-o <output_file>] <input_file>"
+ UsageString = "%prog [-s|-r|-a] [-c] [-v|-d <debug_level>|-q] [-i <include_path_file>] [-o <output_file>] <input_file>"
Parser = OptionParser(description=__copyright__, version=__version__, option_list=OptionList, usage=UsageString)
Parser.set_defaults(FileType="Vfr")
@@ -511,7 +542,7 @@
elif CommandOptions.FileType == "Asl":
if CommandOptions.OutputFile == None:
CommandOptions.OutputFile = os.path.splitext(InputFile)[0] + '.iii'
- TrimAslFile(InputFile, CommandOptions.OutputFile)
+ TrimAslFile(InputFile, CommandOptions.OutputFile, CommandOptions.IncludePathFile)
elif CommandOptions.FileType == "R8SourceCode":
TrimR8Sources(InputFile, CommandOptions.OutputFile)
else :
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2010-10-15 17:52:12
|
Revision: 2072
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2072&view=rev
Author: andrewfish
Date: 2010-10-15 17:52:06 +0000 (Fri, 15 Oct 2010)
Log Message:
-----------
Fix build issue on 64-bit Snow Leopard kernel. Fix some line ending issues.
Modified Paths:
--------------
trunk/BaseTools/Source/C/Include/X64/ProcessorBind.h
trunk/BaseTools/Source/C/Makefiles/header.makefile
trunk/BaseTools/Source/C/Makefiles/lib.makefile
Added Paths:
-----------
trunk/BaseTools/BinWrappers/Darwin-x86_64
Added: trunk/BaseTools/BinWrappers/Darwin-x86_64
===================================================================
--- trunk/BaseTools/BinWrappers/Darwin-x86_64 (rev 0)
+++ trunk/BaseTools/BinWrappers/Darwin-x86_64 2010-10-15 17:52:06 UTC (rev 2072)
@@ -0,0 +1 @@
+link PosixLike/
\ No newline at end of file
Property changes on: trunk/BaseTools/BinWrappers/Darwin-x86_64
___________________________________________________________________
Added: svn:special
+ *
Modified: trunk/BaseTools/Source/C/Include/X64/ProcessorBind.h
===================================================================
--- trunk/BaseTools/Source/C/Include/X64/ProcessorBind.h 2010-10-15 02:06:16 UTC (rev 2071)
+++ trunk/BaseTools/Source/C/Include/X64/ProcessorBind.h 2010-10-15 17:52:06 UTC (rev 2072)
@@ -149,13 +149,13 @@
//
// Processor specific defines
//
-#define MAX_BIT 0x8000000000000000
-#define MAX_2_BITS 0xC000000000000000
+#define MAX_BIT 0x8000000000000000ULL
+#define MAX_2_BITS 0xC000000000000000ULL
//
// Maximum legal Itanium-based address
//
-#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFF
+#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL
//
// Modifier to ensure that all protocol member functions and EFI intrinsics
Modified: trunk/BaseTools/Source/C/Makefiles/header.makefile
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/header.makefile 2010-10-15 02:06:16 UTC (rev 2071)
+++ trunk/BaseTools/Source/C/Makefiles/header.makefile 2010-10-15 17:52:06 UTC (rev 2072)
@@ -1,10 +1,10 @@
## @file
#
-# The makefile can be invoked with
-# ARCH = x86_64 or x64 for EM64T build
-# ARCH = ia32 or IA32 for IA32 build
-# ARCH = ia64 or IA64 for IA64 build
-#
+# The makefile can be invoked with
+# ARCH = x86_64 or x64 for EM64T build
+# ARCH = ia32 or IA32 for IA32 build
+# ARCH = ia64 or IA64 for IA64 build
+#
# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -12,52 +12,56 @@
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-ARCH ?= IA32
-
-CYGWIN:=$(findstring CYGWIN, $(shell uname -s))
-LINUX:=$(findstring Linux, $(shell uname -s))
-DARWIN:=$(findstring Darwin, $(shell uname -s))
-
-CC = gcc
-CXX = g++
-AS = gcc
-AR = ar
-LD = ld
-LINKER ?= $(CC)
-ifeq ($(ARCH), IA32)
-ARCH_INCLUDE = -I $(MAKEROOT)/Include/Ia32/
-endif
-
-ifeq ($(ARCH), X64)
-ARCH_INCLUDE = -I $(MAKEROOT)/Include/X64/
-endif
-
-INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE)
-CPPFLAGS = $(INCLUDE)
-CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g
-LFLAGS =
-
-#
-# Snow Leopard is a 32-bit and 64-bit environment. uname -m returns -i386, but gcc defaults
-# to x86_64. So make sure tools match uname -m
-#
-uname_s = $(shell uname -s)
-ifeq ($(uname_s),Darwin)
- CFLAGS += -arch i386
- CPPFLAGS += -arch i386
- LFLAGS += -arch i386
-endif
-
-.PHONY: all
-.PHONY: install
-.PHONY: clean
-
-all:
-
-$(MAKEROOT)/libs:
- mkdir $(MAKEROOT)/libs
-
-$(MAKEROOT)/bin:
- mkdir $(MAKEROOT)/bin
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ARCH ?= IA32
+
+CYGWIN:=$(findstring CYGWIN, $(shell uname -s))
+LINUX:=$(findstring Linux, $(shell uname -s))
+DARWIN:=$(findstring Darwin, $(shell uname -s))
+
+CC = gcc
+CXX = g++
+AS = gcc
+AR = ar
+LD = ld
+LINKER ?= $(CC)
+ifeq ($(ARCH), IA32)
+ARCH_INCLUDE = -I $(MAKEROOT)/Include/Ia32/
+endif
+
+ifeq ($(ARCH), X64)
+ARCH_INCLUDE = -I $(MAKEROOT)/Include/X64/
+endif
+
+INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE)
+CPPFLAGS = $(INCLUDE)
+CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g
+LFLAGS =
+
+ifeq ($(ARCH), IA32)
+#
+# Snow Leopard is a 32-bit and 64-bit environment. uname -m returns i386, but gcc defaults
+# to x86_64. So make sure tools match uname -m. You can manual have a 64-bit kernal on Snow Leopard
+# so only do this is uname -m returns i386.
+#
+uname_s = $(shell uname -s)
+ifeq ($(uname_s),Darwin)
+ CFLAGS += -arch i386
+ CPPFLAGS += -arch i386
+ LFLAGS += -arch i386
+endif
+endif
+
+
+.PHONY: all
+.PHONY: install
+.PHONY: clean
+
+all:
+
+$(MAKEROOT)/libs:
+ mkdir $(MAKEROOT)/libs
+
+$(MAKEROOT)/bin:
+ mkdir $(MAKEROOT)/bin
Modified: trunk/BaseTools/Source/C/Makefiles/lib.makefile
===================================================================
--- trunk/BaseTools/Source/C/Makefiles/lib.makefile 2010-10-15 02:06:16 UTC (rev 2071)
+++ trunk/BaseTools/Source/C/Makefiles/lib.makefile 2010-10-15 17:52:06 UTC (rev 2072)
@@ -7,12 +7,12 @@
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-include $(MAKEROOT)/Makefiles/header.makefile
-
-LIBRARY = $(MAKEROOT)/libs/lib$(LIBNAME).a
-
-all: $(MAKEROOT)/libs $(LIBRARY)
-
-include $(MAKEROOT)/Makefiles/footer.makefile
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+include $(MAKEROOT)/Makefiles/header.makefile
+
+LIBRARY = $(MAKEROOT)/libs/lib$(LIBNAME).a
+
+all: $(MAKEROOT)/libs $(LIBRARY)
+
+include $(MAKEROOT)/Makefiles/footer.makefile
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pg...@us...> - 2011-02-11 09:26:42
|
Revision: 2118
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2118&view=rev
Author: pgao2
Date: 2011-02-11 09:26:35 +0000 (Fri, 11 Feb 2011)
Log Message:
-----------
Adjust build rule to create symbol file (for GCC tool chain) in module specific directory; enable symbol file generation for GCC44/45 tool chain; have gcc link script always be used in GCC tool chain, and ensure only 1 data section and 1 code section be generated; report warning if multiple data section or code section get merged during the ELF to PE conversion in GenFw.
Modified Paths:
--------------
trunk/BaseTools/Conf/build_rule.template
trunk/BaseTools/Conf/tools_def.template
trunk/BaseTools/Scripts/gcc4.4-ld-script
trunk/BaseTools/Source/C/GenFw/Elf32Convert.c
trunk/BaseTools/Source/C/GenFw/Elf64Convert.c
trunk/BaseTools/Source/C/GenFw/ElfConvert.c
trunk/BaseTools/Source/C/GenFw/ElfConvert.h
trunk/BaseTools/Source/C/GenFw/GenFw.c
trunk/BaseTools/Source/C/GenFw/GenFw.h
Modified: trunk/BaseTools/Conf/build_rule.template
===================================================================
--- trunk/BaseTools/Conf/build_rule.template 2011-02-02 17:57:31 UTC (rev 2117)
+++ trunk/BaseTools/Conf/build_rule.template 2011-02-11 09:26:35 UTC (rev 2118)
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -299,9 +299,15 @@
-$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
<Command.GCC>
- $(OBJCOPY) --only-keep-debug ${src} $(BIN_DIR)(+)$(MODULE_NAME).debug
+ $(OBJCOPY) --only-keep-debug ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).debug
$(OBJCOPY) --strip-unneeded ${src}
- $(OBJCOPY) --add-gnu-debuglink=$(BIN_DIR)(+)$(MODULE_NAME).debug ${src}
+
+ #
+ #The below 2 lines are only needed for UNIXGCC tool chain, which genereates PE image directly
+ #
+ -$(OBJCOPY) --add-gnu-debuglink=$(DEBUG_DIR)(+)$(MODULE_NAME).debug ${src}
+ -$(CP) $(DEBUG_DIR)(+)$(MODULE_NAME).debug $(BIN_DIR)
+
"$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)
$(CP) ${dst} $(OUTPUT_DIR)
$(CP) ${dst} $(BIN_DIR)
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2011-02-02 17:57:31 UTC (rev 2117)
+++ trunk/BaseTools/Conf/tools_def.template 2011-02-11 09:26:35 UTC (rev 2118)
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
#
# This program and the accompanying materials
@@ -1598,10 +1598,10 @@
DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-stack-protector -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -malign-double -D EFI32
DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -DNO_BUILTIN_VA_FUNCS -mno-red-zone -Wno-address -mcmodel=large
-DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections
+DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections --script=$(EDK_TOOLS_PATH)/Scripts/gcc4.4-ld-script
DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry ReferenceAcpiTable -u ReferenceAcpiTable
DEFINE GCC44_IA32_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-DEFINE GCC44_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS) -melf_x86_64 --oformat=elf64-x86-64 --script=$(EDK_TOOLS_PATH)/Scripts/gcc4.4-ld-script
+DEFINE GCC44_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS) -melf_x86_64 --oformat=elf64-x86-64
DEFINE GCC44_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
DEFINE GCC45_IA32_CC_FLAGS = DEF(GCC44_IA32_CC_FLAGS)
@@ -1720,6 +1720,7 @@
##################
# GCC44 IA32 definitions
##################
+*_GCC44_IA32_OBJCOPY_PATH = DEF(GCC44_IA32_PREFIX)objcopy
*_GCC44_IA32_CC_PATH = DEF(GCC44_IA32_PREFIX)gcc
*_GCC44_IA32_SLINK_PATH = DEF(GCC44_IA32_PREFIX)ar
*_GCC44_IA32_DLINK_PATH = DEF(GCC44_IA32_PREFIX)ld
@@ -1737,10 +1738,12 @@
*_GCC44_IA32_CC_FLAGS = DEF(GCC44_IA32_CC_FLAGS) -Os
*_GCC44_IA32_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS) -m elf_i386 --oformat=elf32-i386
*_GCC44_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+*_GCC44_IA32_OBJCOPY_FLAGS =
##################
# GCC44 X64 definitions
##################
+*_GCC44_X64_OBJCOPY_PATH = DEF(GCC44_X64_PREFIX)objcopy
*_GCC44_X64_CC_PATH = DEF(GCC44_X64_PREFIX)gcc
*_GCC44_X64_SLINK_PATH = DEF(GCC44_X64_PREFIX)ar
*_GCC44_X64_DLINK_PATH = DEF(GCC44_X64_PREFIX)ld
@@ -1758,8 +1761,8 @@
*_GCC44_X64_CC_FLAGS = DEF(GCC44_X64_CC_FLAGS)
*_GCC44_X64_DLINK_FLAGS = DEF(GCC44_X64_DLINK_FLAGS)
*_GCC44_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+*_GCC44_X64_OBJCOPY_FLAGS =
-
####################################################################################
#
# GCC 4.5 - This configuration is used to compile under Linux to produce
@@ -1782,6 +1785,7 @@
##################
# GCC45 IA32 definitions
##################
+*_GCC45_IA32_OBJCOPY_PATH = DEF(GCC45_IA32_PREFIX)objcopy
*_GCC45_IA32_CC_PATH = DEF(GCC45_IA32_PREFIX)gcc
*_GCC45_IA32_SLINK_PATH = DEF(GCC45_IA32_PREFIX)ar
*_GCC45_IA32_DLINK_PATH = DEF(GCC45_IA32_PREFIX)ld
@@ -1799,10 +1803,12 @@
*_GCC45_IA32_CC_FLAGS = DEF(GCC45_IA32_CC_FLAGS) -Os
*_GCC45_IA32_DLINK_FLAGS = DEF(GCC45_IA32_X64_DLINK_FLAGS) -m elf_i386 --oformat=elf32-i386
*_GCC45_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+*_GCC45_IA32_OBJCOPY_FLAGS =
##################
# GCC45 X64 definitions
##################
+*_GCC45_X64_OBJCOPY_PATH = DEF(GCC45_X64_PREFIX)objcopy
*_GCC45_X64_CC_PATH = DEF(GCC45_X64_PREFIX)gcc
*_GCC45_X64_SLINK_PATH = DEF(GCC45_X64_PREFIX)ar
*_GCC45_X64_DLINK_PATH = DEF(GCC45_X64_PREFIX)ld
@@ -1820,8 +1826,8 @@
*_GCC45_X64_CC_FLAGS = DEF(GCC45_X64_CC_FLAGS)
*_GCC45_X64_DLINK_FLAGS = DEF(GCC45_X64_DLINK_FLAGS)
*_GCC45_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+*_GCC45_X64_OBJCOPY_FLAGS =
-
####################################################################################
#
# Cygwin GCC And Intel ACPI Compiler
Modified: trunk/BaseTools/Scripts/gcc4.4-ld-script
===================================================================
--- trunk/BaseTools/Scripts/gcc4.4-ld-script 2011-02-02 17:57:31 UTC (rev 2117)
+++ trunk/BaseTools/Scripts/gcc4.4-ld-script 2011-02-11 09:26:35 UTC (rev 2118)
@@ -13,14 +13,11 @@
*(
.rodata .rodata.* .gnu.linkonce.r.*
.data .data.* .gnu.linkonce.d.*
+ .bss .bss.*
+ *COM*
)
. = ALIGN(0x20);
}
- .bss ALIGN(0x20) :
- {
- *(.bss .bss.*)
- . = ALIGN(0x20);
- }
.got ALIGN(0x20) :
{
*(.got .got.*)
Modified: trunk/BaseTools/Source/C/GenFw/Elf32Convert.c
===================================================================
--- trunk/BaseTools/Source/C/GenFw/Elf32Convert.c 2011-02-02 17:57:31 UTC (rev 2117)
+++ trunk/BaseTools/Source/C/GenFw/Elf32Convert.c 2011-02-11 09:26:35 UTC (rev 2118)
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
@@ -263,6 +263,7 @@
EFI_IMAGE_DOS_HEADER *DosHdr;
EFI_IMAGE_OPTIONAL_HEADER_UNION *NtHdr;
UINT32 CoffEntry;
+ UINT32 SectionCount;
CoffEntry = 0;
mCoffOffset = 0;
@@ -291,6 +292,7 @@
//
mCoffOffset = CoffAlign(mCoffOffset);
mTextOffset = mCoffOffset;
+ SectionCount = 0;
for (i = 0; i < mEhdr->e_shnum; i++) {
Elf_Shdr *shdr = GetShdrByIndex(i);
if (IsTextShdr(shdr)) {
@@ -315,6 +317,7 @@
}
mCoffSectionsOffset[i] = mCoffOffset;
mCoffOffset += shdr->sh_size;
+ SectionCount ++;
}
}
@@ -322,10 +325,15 @@
mCoffOffset = CoffAlign(mCoffOffset);
}
+ if (SectionCount > 1 && mOutImageType == FW_EFI_IMAGE) {
+ Warning (NULL, 0, 0, NULL, "Mulitple sections in %s are merged into 1 text section. Source level debug might not work correctly.", mInImageName);
+ }
+
//
// Then data sections.
//
mDataOffset = mCoffOffset;
+ SectionCount = 0;
for (i = 0; i < mEhdr->e_shnum; i++) {
Elf_Shdr *shdr = GetShdrByIndex(i);
if (IsDataShdr(shdr)) {
@@ -344,10 +352,15 @@
}
mCoffSectionsOffset[i] = mCoffOffset;
mCoffOffset += shdr->sh_size;
+ SectionCount ++;
}
}
mCoffOffset = CoffAlign(mCoffOffset);
+ if (SectionCount > 1 && mOutImageType == FW_EFI_IMAGE) {
+ Warning (NULL, 0, 0, NULL, "Mulitple sections in %s are merged into 1 data section. Source level debug might not work correctly.", mInImageName);
+ }
+
//
// The HII resource sections.
//
Modified: trunk/BaseTools/Source/C/GenFw/Elf64Convert.c
===================================================================
--- trunk/BaseTools/Source/C/GenFw/Elf64Convert.c 2011-02-02 17:57:31 UTC (rev 2117)
+++ trunk/BaseTools/Source/C/GenFw/Elf64Convert.c 2011-02-11 09:26:35 UTC (rev 2118)
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
@@ -256,6 +256,7 @@
EFI_IMAGE_DOS_HEADER *DosHdr;
EFI_IMAGE_OPTIONAL_HEADER_UNION *NtHdr;
UINT32 CoffEntry;
+ UINT32 SectionCount;
CoffEntry = 0;
mCoffOffset = 0;
@@ -284,6 +285,7 @@
//
mCoffOffset = CoffAlign(mCoffOffset);
mTextOffset = mCoffOffset;
+ SectionCount = 0;
for (i = 0; i < mEhdr->e_shnum; i++) {
Elf_Shdr *shdr = GetShdrByIndex(i);
if (IsTextShdr(shdr)) {
@@ -308,6 +310,7 @@
}
mCoffSectionsOffset[i] = mCoffOffset;
mCoffOffset += (UINT32) shdr->sh_size;
+ SectionCount ++;
}
}
@@ -315,10 +318,15 @@
mCoffOffset = CoffAlign(mCoffOffset);
}
+ if (SectionCount > 1 && mOutImageType == FW_EFI_IMAGE) {
+ Warning (NULL, 0, 0, NULL, "Mulitple sections in %s are merged into 1 text section. Source level debug might not work correctly.", mInImageName);
+ }
+
//
// Then data sections.
//
mDataOffset = mCoffOffset;
+ SectionCount = 0;
for (i = 0; i < mEhdr->e_shnum; i++) {
Elf_Shdr *shdr = GetShdrByIndex(i);
if (IsDataShdr(shdr)) {
@@ -337,10 +345,15 @@
}
mCoffSectionsOffset[i] = mCoffOffset;
mCoffOffset += (UINT32) shdr->sh_size;
+ SectionCount ++;
}
}
mCoffOffset = CoffAlign(mCoffOffset);
+ if (SectionCount > 1 && mOutImageType == FW_EFI_IMAGE) {
+ Warning (NULL, 0, 0, NULL, "Mulitple sections in %s are merged into 1 data section. Source level debug might not work correctly.", mInImageName);
+ }
+
//
// The HII resource sections.
//
Modified: trunk/BaseTools/Source/C/GenFw/ElfConvert.c
===================================================================
--- trunk/BaseTools/Source/C/GenFw/ElfConvert.c 2011-02-02 17:57:31 UTC (rev 2117)
+++ trunk/BaseTools/Source/C/GenFw/ElfConvert.c 2011-02-11 09:26:35 UTC (rev 2118)
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
@@ -170,7 +170,7 @@
//
// Determine ELF type and set function table pointer correctly.
//
- VerboseMsg ("Check Efl Image Header");
+ VerboseMsg ("Check Elf Image Header");
EiClass = (*FileBuffer)[EI_CLASS];
if (EiClass == ELFCLASS32) {
if (!InitializeElf32 (*FileBuffer, &ElfFunctions)) {
Modified: trunk/BaseTools/Source/C/GenFw/ElfConvert.h
===================================================================
--- trunk/BaseTools/Source/C/GenFw/ElfConvert.h 2011-02-02 17:57:31 UTC (rev 2117)
+++ trunk/BaseTools/Source/C/GenFw/ElfConvert.h 2011-02-11 09:26:35 UTC (rev 2118)
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
@@ -27,6 +27,7 @@
extern UINT32 mImageTimeStamp;
extern UINT8 *mCoffFile;
extern UINT32 mTableOffset;
+extern UINT32 mOutImageType;
//
// Common EFI specific data.
Modified: trunk/BaseTools/Source/C/GenFw/GenFw.c
===================================================================
--- trunk/BaseTools/Source/C/GenFw/GenFw.c 2011-02-02 17:57:31 UTC (rev 2117)
+++ trunk/BaseTools/Source/C/GenFw/GenFw.c 2011-02-11 09:26:35 UTC (rev 2118)
@@ -62,26 +62,7 @@
#define HII_RESOURCE_SECTION_INDEX 1
#define HII_RESOURCE_SECTION_NAME "HII"
-//
-// Action for this tool.
-//
-#define FW_DUMMY_IMAGE 0
-#define FW_EFI_IMAGE 1
-#define FW_TE_IMAGE 2
-#define FW_ACPI_IMAGE 3
-#define FW_BIN_IMAGE 4
-#define FW_ZERO_DEBUG_IMAGE 5
-#define FW_SET_STAMP_IMAGE 6
-#define FW_MCI_IMAGE 7
-#define FW_MERGE_IMAGE 8
-#define FW_RELOC_STRIPEED_IMAGE 9
-#define FW_HII_PACKAGE_LIST_RCIMAGE 10
-#define FW_HII_PACKAGE_LIST_BINIMAGE 11
-#define FW_REBASE_IMAGE 12
-#define FW_SET_ADDRESS_IMAGE 13
-#define DUMP_TE_HEADER 0x11
-
#define DEFAULT_MC_PAD_BYTE_VALUE 0xFF
#define DEFAULT_MC_ALIGNMENT 16
@@ -121,6 +102,7 @@
CHAR8 *mInImageName;
UINT32 mImageTimeStamp = 0;
UINT32 mImageSize = 0;
+UINT32 mOutImageType = FW_DUMMY_IMAGE;
STATIC
@@ -1080,7 +1062,6 @@
char *OutImageName;
char *ModuleType;
CHAR8 *TimeStamp;
- UINT32 OutImageType;
FILE *fpIn;
FILE *fpOut;
FILE *fpInOut;
@@ -1147,7 +1128,6 @@
mInImageName = NULL;
OutImageName = NULL;
ModuleType = NULL;
- OutImageType = FW_DUMMY_IMAGE;
Type = 0;
Status = STATUS_SUCCESS;
FileBuffer = NULL;
@@ -1221,8 +1201,8 @@
goto Finish;
}
ModuleType = argv[1];
- if (OutImageType != FW_TE_IMAGE) {
- OutImageType = FW_EFI_IMAGE;
+ if (mOutImageType != FW_TE_IMAGE) {
+ mOutImageType = FW_EFI_IMAGE;
}
argc -= 2;
argv += 2;
@@ -1230,49 +1210,49 @@
}
if ((stricmp (argv[0], "-l") == 0) || (stricmp (argv[0], "--stripped") == 0)) {
- OutImageType = FW_RELOC_STRIPEED_IMAGE;
+ mOutImageType = FW_RELOC_STRIPEED_IMAGE;
argc --;
argv ++;
continue;
}
if ((stricmp (argv[0], "-c") == 0) || (stricmp (argv[0], "--acpi") == 0)) {
- OutImageType = FW_ACPI_IMAGE;
+ mOutImageType = FW_ACPI_IMAGE;
argc --;
argv ++;
continue;
}
if ((stricmp (argv[0], "-t") == 0) || (stricmp (argv[0], "--terse") == 0)) {
- OutImageType = FW_TE_IMAGE;
+ mOutImageType = FW_TE_IMAGE;
argc --;
argv ++;
continue;
}
if ((stricmp (argv[0], "-u") == 0) || (stricmp (argv[0], "--dump") == 0)) {
- OutImageType = DUMP_TE_HEADER;
+ mOutImageType = DUMP_TE_HEADER;
argc --;
argv ++;
continue;
}
if ((stricmp (argv[0], "-b") == 0) || (stricmp (argv[0], "--exe2bin") == 0)) {
- OutImageType = FW_BIN_IMAGE;
+ mOutImageType = FW_BIN_IMAGE;
argc --;
argv ++;
continue;
}
if ((stricmp (argv[0], "-z") == 0) || (stricmp (argv[0], "--zero") == 0)) {
- OutImageType = FW_ZERO_DEBUG_IMAGE;
+ mOutImageType = FW_ZERO_DEBUG_IMAGE;
argc --;
argv ++;
continue;
}
if ((stricmp (argv[0], "-s") == 0) || (stricmp (argv[0], "--stamp") == 0)) {
- OutImageType = FW_SET_STAMP_IMAGE;
+ mOutImageType = FW_SET_STAMP_IMAGE;
if (argv[1] == NULL || argv[1][0] == '-') {
Error (NULL, 0, 1003, "Invalid option value", "time stamp is missing for -s option");
goto Finish;
@@ -1305,14 +1285,14 @@
}
if ((stricmp (argv[0], "-m") == 0) || (stricmp (argv[0], "--mcifile") == 0)) {
- OutImageType = FW_MCI_IMAGE;
+ mOutImageType = FW_MCI_IMAGE;
argc --;
argv ++;
continue;
}
if ((stricmp (argv[0], "-j") == 0) || (stricmp (argv[0], "--join") == 0)) {
- OutImageType = FW_MERGE_IMAGE;
+ mOutImageType = FW_MERGE_IMAGE;
argc --;
argv ++;
continue;
@@ -1341,7 +1321,7 @@
Error (NULL, 0, 1003, "Invalid option value", "%s = %s", argv[0], argv[1]);
goto Finish;
}
- OutImageType = FW_REBASE_IMAGE;
+ mOutImageType = FW_REBASE_IMAGE;
NewBaseAddress = (UINT64) Temp64;
argc -= 2;
argv += 2;
@@ -1360,7 +1340,7 @@
Error (NULL, 0, 1003, "Invalid option value", "%s = %s", argv[0], argv[1]);
goto Finish;
}
- OutImageType = FW_SET_ADDRESS_IMAGE;
+ mOutImageType = FW_SET_ADDRESS_IMAGE;
NewBaseAddress = (UINT64) Temp64;
argc -= 2;
argv += 2;
@@ -1423,14 +1403,14 @@
}
if (stricmp (argv[0], "--hiipackage") == 0) {
- OutImageType = FW_HII_PACKAGE_LIST_RCIMAGE;
+ mOutImageType = FW_HII_PACKAGE_LIST_RCIMAGE;
argc --;
argv ++;
continue;
}
if (stricmp (argv[0], "--hiibinpackage") == 0) {
- OutImageType = FW_HII_PACKAGE_LIST_BINIMAGE;
+ mOutImageType = FW_HII_PACKAGE_LIST_BINIMAGE;
argc --;
argv ++;
continue;
@@ -1475,7 +1455,7 @@
VerboseMsg ("%s tool start.", UTILITY_NAME);
- if (OutImageType == FW_DUMMY_IMAGE) {
+ if (mOutImageType == FW_DUMMY_IMAGE) {
Error (NULL, 0, 1001, "Missing option", "No create file action specified; pls specify -e, -c or -t option to create efi image, or acpi table or TeImage!");
if (ReplaceFlag) {
Error (NULL, 0, 1001, "Missing option", "-r option is not supported as the independent option. It can be used together with other create file option specified at the above.");
@@ -1494,7 +1474,7 @@
//
// Combine MciBinary files to one file
//
- if ((OutImageType == FW_MERGE_IMAGE) && ReplaceFlag) {
+ if ((mOutImageType == FW_MERGE_IMAGE) && ReplaceFlag) {
Error (NULL, 0, 1002, "Conflicting option", "-r replace option cannot be used with -j merge files option.");
goto Finish;
}
@@ -1502,12 +1482,12 @@
//
// Combine HiiBinary packages to a single package list
//
- if ((OutImageType == FW_HII_PACKAGE_LIST_RCIMAGE) && ReplaceFlag) {
+ if ((mOutImageType == FW_HII_PACKAGE_LIST_RCIMAGE) && ReplaceFlag) {
Error (NULL, 0, 1002, "Conflicting option", "-r replace option cannot be used with --hiipackage merge files option.");
goto Finish;
}
- if ((OutImageType == FW_HII_PACKAGE_LIST_BINIMAGE) && ReplaceFlag) {
+ if ((mOutImageType == FW_HII_PACKAGE_LIST_BINIMAGE) && ReplaceFlag) {
Error (NULL, 0, 1002, "Conflicting option", "-r replace option cannot be used with --hiibinpackage merge files option.");
goto Finish;
}
@@ -1521,7 +1501,7 @@
//
// Action will be taken for the input file.
//
- switch (OutImageType) {
+ switch (mOutImageType) {
case FW_EFI_IMAGE:
VerboseMsg ("Create efi image on module type %s based on the input PE image.", ModuleType);
break;
@@ -1599,7 +1579,7 @@
fpOut = NULL;
}
VerboseMsg ("Output file name is %s", OutImageName);
- } else if (!ReplaceFlag && OutImageType != DUMP_TE_HEADER) {
+ } else if (!ReplaceFlag && mOutImageType != DUMP_TE_HEADER) {
Error (NULL, 0, 1001, "Missing option", "output file");
goto Finish;
}
@@ -1634,7 +1614,7 @@
//
// Combine multi binary HII package files.
//
- if (OutImageType == FW_HII_PACKAGE_LIST_RCIMAGE || OutImageType == FW_HII_PACKAGE_LIST_BINIMAGE) {
+ if (mOutImageType == FW_HII_PACKAGE_LIST_RCIMAGE || mOutImageType == FW_HII_PACKAGE_LIST_BINIMAGE) {
//
// Open output file handle.
//
@@ -1711,7 +1691,7 @@
//
// write the hii package into the binary package list file with the resource section header
//
- if (OutImageType == FW_HII_PACKAGE_LIST_BINIMAGE) {
+ if (mOutImageType == FW_HII_PACKAGE_LIST_BINIMAGE) {
//
// Create the resource section header
//
@@ -1735,7 +1715,7 @@
//
// write the hii package into the text package list rc file.
//
- if (OutImageType == FW_HII_PACKAGE_LIST_RCIMAGE) {
+ if (mOutImageType == FW_HII_PACKAGE_LIST_RCIMAGE) {
for (Index = 0; gHiiPackageRCFileHeader[Index] != NULL; Index++) {
fprintf (fpOut, "%s\n", gHiiPackageRCFileHeader[Index]);
}
@@ -1770,7 +1750,7 @@
//
// Combine MciBinary files to one file
//
- if (OutImageType == FW_MERGE_IMAGE) {
+ if (mOutImageType == FW_MERGE_IMAGE) {
//
// Open output file handle.
//
@@ -1821,7 +1801,7 @@
//
// Convert MicroCode.txt file to MicroCode.bin file
//
- if (OutImageType == FW_MCI_IMAGE) {
+ if (mOutImageType == FW_MCI_IMAGE) {
fpIn = fopen (mInImageName, "r");
if (fpIn == NULL) {
Error (NULL, 0, 0001, "Error opening file", mInImageName);
@@ -1935,7 +1915,7 @@
//
// Dump TeImage Header into output file.
//
- if (OutImageType == DUMP_TE_HEADER) {
+ if (mOutImageType == DUMP_TE_HEADER) {
memcpy (&TEImageHeader, FileBuffer, sizeof (TEImageHeader));
if (TEImageHeader.Signature != EFI_TE_IMAGE_HEADER_SIGNATURE) {
Error (NULL, 0, 3000, "Invalid", "TE header signature of file %s is not correct.", mInImageName);
@@ -1994,12 +1974,12 @@
// Following code to convert dll to efi image or te image.
// Get new image type
//
- if ((OutImageType == FW_EFI_IMAGE) || (OutImageType == FW_TE_IMAGE)) {
+ if ((mOutImageType == FW_EFI_IMAGE) || (mOutImageType == FW_TE_IMAGE)) {
if (ModuleType == NULL) {
- if (OutImageType == FW_EFI_IMAGE) {
+ if (mOutImageType == FW_EFI_IMAGE) {
Error (NULL, 0, 1001, "Missing option", "EFI_FILETYPE");
goto Finish;
- } else if (OutImageType == FW_TE_IMAGE) {
+ } else if (mOutImageType == FW_TE_IMAGE) {
//
// Default TE Image Type is Boot service driver
//
@@ -2047,7 +2027,7 @@
}
//
- // Convert EFL image to PeImage
+ // Convert ELF image to PeImage
//
if (IsElfHeader(FileBuffer)) {
VerboseMsg ("Convert %s from ELF to PE/COFF.", mInImageName);
@@ -2066,7 +2046,7 @@
//
// Remove reloc section from PE or TE image
//
- if (OutImageType == FW_RELOC_STRIPEED_IMAGE) {
+ if (mOutImageType == FW_RELOC_STRIPEED_IMAGE) {
//
// Check TeImage
//
@@ -2184,7 +2164,7 @@
//
// Set new base address into image
//
- if (OutImageType == FW_REBASE_IMAGE || OutImageType == FW_SET_ADDRESS_IMAGE) {
+ if (mOutImageType == FW_REBASE_IMAGE || mOutImageType == FW_SET_ADDRESS_IMAGE) {
if ((PeHdr->Pe32.OptionalHeader.Magic == EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC) && (PeHdr->Pe32.FileHeader.Machine != IMAGE_FILE_MACHINE_IA64)) {
if (NewBaseAddress >= 0x100000000ULL) {
Error (NULL, 0, 3000, "Invalid", "New base address is larger than 4G for 32bit PE image");
@@ -2198,7 +2178,7 @@
//
NewBaseAddress = (UINT64) (0 - NewBaseAddress);
}
- if (OutImageType == FW_REBASE_IMAGE) {
+ if (mOutImageType == FW_REBASE_IMAGE) {
Status = RebaseImage (mInImageName, FileBuffer, NewBaseAddress);
} else {
Status = SetAddressToSectionHeader (mInImageName, FileBuffer, NewBaseAddress);
@@ -2221,7 +2201,7 @@
//
// Extract bin data from Pe image.
//
- if (OutImageType == FW_BIN_IMAGE) {
+ if (mOutImageType == FW_BIN_IMAGE) {
if (FileLength < PeHdr->Pe32.OptionalHeader.SizeOfHeaders) {
Error (NULL, 0, 3000, "Invalid", "FileSize of %s is not a legal size.", mInImageName);
goto Finish;
@@ -2238,7 +2218,7 @@
//
// Zero Debug Information of Pe Image
//
- if (OutImageType == FW_ZERO_DEBUG_IMAGE) {
+ if (mOutImageType == FW_ZERO_DEBUG_IMAGE) {
Status = ZeroDebugData (FileBuffer, TRUE);
if (EFI_ERROR (Status)) {
Error (NULL, 0, 3000, "Invalid", "Zero DebugData Error status is 0x%x", (int) Status);
@@ -2255,7 +2235,7 @@
//
// Set Time Stamp of Pe Image
//
- if (OutImageType == FW_SET_STAMP_IMAGE) {
+ if (mOutImageType == FW_SET_STAMP_IMAGE) {
Status = SetStamp (FileBuffer, TimeStamp);
if (EFI_ERROR (Status)) {
goto Finish;
@@ -2271,7 +2251,7 @@
//
// Extract acpi data from pe image.
//
- if (OutImageType == FW_ACPI_IMAGE) {
+ if (mOutImageType == FW_ACPI_IMAGE) {
SectionHeader = (EFI_IMAGE_SECTION_HEADER *) ((UINT8 *) &(PeHdr->Pe32.OptionalHeader) + PeHdr->Pe32.FileHeader.SizeOfOptionalHeader);
for (Index = 0; Index < PeHdr->Pe32.FileHeader.NumberOfSections; Index ++, SectionHeader ++) {
if (strcmp ((char *)SectionHeader->Name, ".data") == 0 || strcmp ((char *)SectionHeader->Name, ".sdata") == 0) {
@@ -2599,7 +2579,7 @@
//
ZeroDebugData (FileBuffer, FALSE);
- if (OutImageType == FW_TE_IMAGE) {
+ if (mOutImageType == FW_TE_IMAGE) {
if ((PeHdr->Pe32.FileHeader.NumberOfSections &~0xFF) || (Type &~0xFF)) {
//
// Pack the subsystem and NumberOfSections into 1 byte. Make sure they fit both.
Modified: trunk/BaseTools/Source/C/GenFw/GenFw.h
===================================================================
--- trunk/BaseTools/Source/C/GenFw/GenFw.h 2011-02-02 17:57:31 UTC (rev 2117)
+++ trunk/BaseTools/Source/C/GenFw/GenFw.h 2011-02-11 09:26:35 UTC (rev 2118)
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
@@ -15,6 +15,26 @@
#ifndef _GEN_FW_H_
#define _GEN_FW_H_
+//
+// Action for this tool.
+//
+#define FW_DUMMY_IMAGE 0
+#define FW_EFI_IMAGE 1
+#define FW_TE_IMAGE 2
+#define FW_ACPI_IMAGE 3
+#define FW_BIN_IMAGE 4
+#define FW_ZERO_DEBUG_IMAGE 5
+#define FW_SET_STAMP_IMAGE 6
+#define FW_MCI_IMAGE 7
+#define FW_MERGE_IMAGE 8
+#define FW_RELOC_STRIPEED_IMAGE 9
+#define FW_HII_PACKAGE_LIST_RCIMAGE 10
+#define FW_HII_PACKAGE_LIST_BINIMAGE 11
+#define FW_REBASE_IMAGE 12
+#define FW_SET_ADDRESS_IMAGE 13
+
+#define DUMP_TE_HEADER 0x11
+
VOID
SetHiiResourceHeader (
UINT8 *HiiBinData,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hc...@us...> - 2011-06-27 02:46:42
|
Revision: 2184
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2184&view=rev
Author: hchen30
Date: 2011-06-27 02:46:33 +0000 (Mon, 27 Jun 2011)
Log Message:
-----------
1. Sync UPT project from Branch 2100
Modified Paths:
--------------
trunk/BaseTools/BuildNotes.txt
Added Paths:
-----------
trunk/BaseTools/BinWrappers/PosixLike/UPT
trunk/BaseTools/Conf/Sample_Package_Information_Data_File.ini
trunk/BaseTools/Source/Python/UPT/
trunk/BaseTools/Source/Python/UPT/Core/
trunk/BaseTools/Source/Python/UPT/Core/DependencyRules.py
trunk/BaseTools/Source/Python/UPT/Core/DistributionPackageClass.py
trunk/BaseTools/Source/Python/UPT/Core/IpiDb.py
trunk/BaseTools/Source/Python/UPT/Core/PackageFile.py
trunk/BaseTools/Source/Python/UPT/Core/__init__.py
trunk/BaseTools/Source/Python/UPT/Dll/
trunk/BaseTools/Source/Python/UPT/Dll/sqlite3.dll
trunk/BaseTools/Source/Python/UPT/GenMetaFile/
trunk/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py
trunk/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py
trunk/BaseTools/Source/Python/UPT/GenMetaFile/GenMetaFileMisc.py
trunk/BaseTools/Source/Python/UPT/GenMetaFile/GenXmlFile.py
trunk/BaseTools/Source/Python/UPT/GenMetaFile/__init__.py
trunk/BaseTools/Source/Python/UPT/InstallPkg.py
trunk/BaseTools/Source/Python/UPT/Library/
trunk/BaseTools/Source/Python/UPT/Library/CommentGenerating.py
trunk/BaseTools/Source/Python/UPT/Library/CommentParsing.py
trunk/BaseTools/Source/Python/UPT/Library/DataType.py
trunk/BaseTools/Source/Python/UPT/Library/ExpressionValidate.py
trunk/BaseTools/Source/Python/UPT/Library/GlobalData.py
trunk/BaseTools/Source/Python/UPT/Library/Misc.py
trunk/BaseTools/Source/Python/UPT/Library/ParserValidate.py
trunk/BaseTools/Source/Python/UPT/Library/Parsing.py
trunk/BaseTools/Source/Python/UPT/Library/String.py
trunk/BaseTools/Source/Python/UPT/Library/Xml/
trunk/BaseTools/Source/Python/UPT/Library/Xml/XmlRoutines.py
trunk/BaseTools/Source/Python/UPT/Library/Xml/__init__.py
trunk/BaseTools/Source/Python/UPT/Library/__init__.py
trunk/BaseTools/Source/Python/UPT/Logger/
trunk/BaseTools/Source/Python/UPT/Logger/Log.py
trunk/BaseTools/Source/Python/UPT/Logger/StringTable.py
trunk/BaseTools/Source/Python/UPT/Logger/ToolError.py
trunk/BaseTools/Source/Python/UPT/Logger/__init__.py
trunk/BaseTools/Source/Python/UPT/Makefile
trunk/BaseTools/Source/Python/UPT/MkPkg.py
trunk/BaseTools/Source/Python/UPT/Object/
trunk/BaseTools/Source/Python/UPT/Object/POM/
trunk/BaseTools/Source/Python/UPT/Object/POM/CommonObject.py
trunk/BaseTools/Source/Python/UPT/Object/POM/ModuleObject.py
trunk/BaseTools/Source/Python/UPT/Object/POM/PackageObject.py
trunk/BaseTools/Source/Python/UPT/Object/POM/__init__.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/
trunk/BaseTools/Source/Python/UPT/Object/Parser/DecObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfBinaryObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfBuildOptionObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfCommonObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfDefineCommonObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfDefineObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfDepexObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfGuidObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfHeaderObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfLibraryClassesObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfMisc.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfPackagesObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfPcdObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfPpiObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfProtocolObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfSoucesObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfUserExtensionObject.py
trunk/BaseTools/Source/Python/UPT/Object/Parser/__init__.py
trunk/BaseTools/Source/Python/UPT/Object/__init__.py
trunk/BaseTools/Source/Python/UPT/Parser/
trunk/BaseTools/Source/Python/UPT/Parser/DecParser.py
trunk/BaseTools/Source/Python/UPT/Parser/DecParserMisc.py
trunk/BaseTools/Source/Python/UPT/Parser/InfAsBuiltProcess.py
trunk/BaseTools/Source/Python/UPT/Parser/InfBinarySectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfBuildOptionSectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfDefineSectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfDepexSectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfGuidPpiProtocolSectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfLibrarySectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfPackageSectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfParserMisc.py
trunk/BaseTools/Source/Python/UPT/Parser/InfPcdSectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfSectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/InfSourceSectionParser.py
trunk/BaseTools/Source/Python/UPT/Parser/__init__.py
trunk/BaseTools/Source/Python/UPT/PomAdapter/
trunk/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py
trunk/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignment.py
trunk/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignmentMisc.py
trunk/BaseTools/Source/Python/UPT/PomAdapter/__init__.py
trunk/BaseTools/Source/Python/UPT/RmPkg.py
trunk/BaseTools/Source/Python/UPT/UPT.py
trunk/BaseTools/Source/Python/UPT/UnitTest/
trunk/BaseTools/Source/Python/UPT/UnitTest/CommentGeneratingUnitTest.py
trunk/BaseTools/Source/Python/UPT/UnitTest/CommentParsingUnitTest.py
trunk/BaseTools/Source/Python/UPT/UnitTest/DecParserTest.py
trunk/BaseTools/Source/Python/UPT/UnitTest/DecParserUnitTest.py
trunk/BaseTools/Source/Python/UPT/UnitTest/InfBinarySectionTest.py
trunk/BaseTools/Source/Python/UPT/Xml/
trunk/BaseTools/Source/Python/UPT/Xml/CommonXml.py
trunk/BaseTools/Source/Python/UPT/Xml/GuidProtocolPpiXml.py
trunk/BaseTools/Source/Python/UPT/Xml/IniToXml.py
trunk/BaseTools/Source/Python/UPT/Xml/ModuleSurfaceAreaXml.py
trunk/BaseTools/Source/Python/UPT/Xml/PackageSurfaceAreaXml.py
trunk/BaseTools/Source/Python/UPT/Xml/PcdXml.py
trunk/BaseTools/Source/Python/UPT/Xml/XmlParser.py
trunk/BaseTools/Source/Python/UPT/Xml/XmlParserMisc.py
trunk/BaseTools/Source/Python/UPT/Xml/__init__.py
Removed Paths:
-------------
trunk/BaseTools/Source/Python/PackagingTool/
Added: trunk/BaseTools/BinWrappers/PosixLike/UPT
===================================================================
--- trunk/BaseTools/BinWrappers/PosixLike/UPT (rev 0)
+++ trunk/BaseTools/BinWrappers/PosixLike/UPT 2011-06-27 02:46:33 UTC (rev 2184)
@@ -0,0 +1 @@
+link RunToolFromSource
\ No newline at end of file
Modified: trunk/BaseTools/BuildNotes.txt
===================================================================
--- trunk/BaseTools/BuildNotes.txt 2011-06-24 08:31:28 UTC (rev 2183)
+++ trunk/BaseTools/BuildNotes.txt 2011-06-27 02:46:33 UTC (rev 2184)
@@ -74,11 +74,11 @@
<buildtools_project>/BaseTools/Source/Python
- There're four tools written in Python. The entrance file of each tool is listed
+ There're five tools written in Python. The entrance file of each tool is listed
below.
build <buildtools_project>/BaseTools/Source/Python/build/build.py
GenFds <buildtools_project>/BaseTools/Source/Python/GenFds/GenFds.py
Trim <buildtools_project>/BaseTools/Source/Python/Trim/Trim.py
MigrationMsa2Inf <buildtools_project>/BaseTools/Source/Python/MigrationMsa2Inf/MigrationMsa2Inf.py
-
+ UPT <buildtools_project>/BaseTools/Source/Python/UPT/UPT.py
Added: trunk/BaseTools/Conf/Sample_Package_Information_Data_File.ini
===================================================================
--- trunk/BaseTools/Conf/Sample_Package_Information_Data_File.ini (rev 0)
+++ trunk/BaseTools/Conf/Sample_Package_Information_Data_File.ini 2011-06-27 02:46:33 UTC (rev 2184)
@@ -0,0 +1,45 @@
+[DistributionHeader]
+Name = DistributionPackageTest
+GUID = DF0DDA2E-EA83-480b-B2CE-FC0BB2F894C2
+Version = 1.6
+Vendor = Your Corporation
+Copyright = Copyright (c) xxxx, Your Corporation. All rights reserved.
+License = This program and the accompanying materials are licensed and made
+ available under the terms and conditions of the BSD License which
+ accompanies this distribution. The full text of the license may be
+ found at: http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
+ IMPLIED.
+Abstract = Version 1.2 of the NoSuchChipset Distribution Package.
+XmlSpecification = 1.1
+
+[MiscellaneousFilesHeader]
+Name = BaseTools Package, Version 2.0
+Copyright = Copyright (c) xxxx0, Some Other Corporation. All rights reserved.
+License = This program and the accompanying materials are licensed and made
+ available under the terms and conditions of the BSD License which
+ accompanies this distribution. The full text of the license may be
+ found at: http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS"
+ ASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER
+ EXPRESS OR IMPLIED.
+Abstract = Applicable Specification
+Description = Specification documents.
+FileList = Readme.txt | Executable=false
+ File2.txt
+
+[ToolsHeader]
+Name = BaseTools Package, Version 2.0
+Copyright = Copyright (c) xxxx, Some Other Corporation. All rights reserved.
+License = This program and the accompanying materials are licensed and made
+ available under the terms and conditions of the BSD License which
+ accompanies this distribution. The full text of the license may be
+ found at: http://opensource.org/licenses/bsd-license.php
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS"
+ BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER
+ EXPRESS OR IMPLIED.
+Abstract = win32 binaries and package information data files for makefile base build system
+Description = BaseTools package using Makefile based builds.
+FileList = test.c | OS=Linux64 | Executable=true
+ BuildNotes2.txt
Added: trunk/BaseTools/Source/Python/UPT/Core/DependencyRules.py
===================================================================
--- trunk/BaseTools/Source/Python/UPT/Core/DependencyRules.py (rev 0)
+++ trunk/BaseTools/Source/Python/UPT/Core/DependencyRules.py 2011-06-27 02:46:33 UTC (rev 2184)
@@ -0,0 +1,293 @@
+## @file
+# This file is for installed package information database operations
+#
+# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
+#
+# This program and the accompanying materials are licensed and made available
+# under the terms and conditions of the BSD License which accompanies this
+# distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+
+'''
+Dependency
+'''
+
+##
+# Import Modules
+#
+from os import getenv
+from os import environ
+from os.path import dirname
+
+import Logger.Log as Logger
+from Logger import StringTable as ST
+from Library.Parsing import GetWorkspacePackage
+from Library.Parsing import GetWorkspaceModule
+from PomAdapter.InfPomAlignment import InfPomAlignment
+from Logger.ToolError import FatalError
+from Logger.ToolError import EDK1_INF_ERROR
+from Logger.ToolError import UNKNOWN_ERROR
+(DEPEX_CHECK_SUCCESS, DEPEX_CHECK_MODULE_NOT_FOUND, \
+DEPEX_CHECK_PACKAGE_NOT_FOUND, DEPEX_CHECK_DP_NOT_FOUND) = (0, 1, 2, 3)
+
+
+## IpiDb
+#
+# This class represents the installed package information database
+# Add/Remove/Get installed distribution package information here.
+#
+#
+# @param object: Inherited from object class
+#
+class DependencyRules(object):
+ def __init__(self, Datab):
+ self.IpiDb = Datab
+ self.WsPkgList = GetWorkspacePackage()
+ self.WsModuleList = GetWorkspaceModule()
+
+ ## Check whether a module exists in current workspace.
+ #
+ # @param Guid: Guid of a module
+ # @param Version: Version of a module
+ #
+ def CheckModuleExists(self, Guid, Version, ReturnCode=DEPEX_CHECK_SUCCESS):
+ if ReturnCode:
+ pass
+ Logger.Verbose(ST.MSG_CHECK_MODULE_EXIST)
+ ModuleList = self.IpiDb.GetModInPackage(Guid, Version)
+ ModuleList.extend(self.IpiDb.GetStandaloneModule(Guid, Version))
+ Logger.Verbose(ST.MSG_CHECK_MODULE_EXIST_FINISH)
+ if len(ModuleList) > 0:
+ return True
+ else:
+ return False
+
+ ## Check whether a module depex satisfied by current workspace or dist.
+ #
+ # @param ModuleObj: A module object
+ # @param DpObj: A depex object
+ #
+ def CheckModuleDepexSatisfied(self, ModuleObj, DpObj=None, \
+ ReturnCode=DEPEX_CHECK_SUCCESS):
+ if ReturnCode:
+ pass
+ Logger.Verbose(ST.MSG_CHECK_MODULE_DEPEX_START)
+ Result = True
+ Dep = None
+ if ModuleObj.GetPackageDependencyList():
+ Dep = ModuleObj.GetPackageDependencyList()[0]
+ for Dep in ModuleObj.GetPackageDependencyList():
+ #
+ # first check whether the dependency satisfied by current workspace
+ #
+ Exist = self.CheckPackageExists(Dep.GetGuid(), Dep.GetVersion())
+ #
+ # check whether satisfied by current distribution
+ #
+ if not Exist:
+ if DpObj == None:
+ Result = False
+ break
+ for GuidVerPair in DpObj.PackageSurfaceArea.keys():
+ if Dep.GetGuid() == GuidVerPair[0]:
+ if Dep.GetVersion() == None or \
+ len(Dep.GetVersion()) == 0:
+ Result = True
+ break
+ if Dep.GetVersion() == GuidVerPair[1]:
+ Result = True
+ break
+ else:
+ Result = False
+ break
+
+ if not Result:
+ Logger.Error("CheckModuleDepex", UNKNOWN_ERROR, \
+ ST.ERR_DEPENDENCY_NOT_MATCH % (ModuleObj.GetName(), \
+ Dep.GetPackageFilePath(), \
+ Dep.GetGuid(), \
+ Dep.GetVersion()))
+ return Result
+
+ ## Check whether a package exists in current workspace.
+ #
+ # @param Guid: Guid of a package
+ # @param Version: Version of a package
+ #
+ def CheckPackageExists(self, Guid, Version):
+ Logger.Verbose(ST.MSG_CHECK_PACKAGE_START)
+ for (PkgName, PkgGuid, PkgVer, PkgPath) in self.WsPkgList:
+ if PkgName or PkgPath:
+ pass
+ if (PkgGuid == Guid):
+ #
+ # if version is not empty and not equal, then not match
+ #
+ if Version and (PkgVer != Version):
+ return False
+ else:
+ return True
+ else:
+ return False
+
+ Logger.Verbose(ST.MSG_CHECK_PACKAGE_FINISH)
+
+ ## Check whether a package depex satisfied by current workspace.
+ #
+ # @param PkgObj: A package object
+ # @param DpObj: A package depex object
+ #
+ def CheckPackageDepexSatisfied(self, PkgObj, DpObj=None, \
+ ReturnCode=DEPEX_CHECK_SUCCESS):
+
+ ModuleDict = PkgObj.GetModuleDict()
+ for ModKey in ModuleDict.keys():
+ ModObj = ModuleDict[ModKey]
+ if self.CheckModuleDepexSatisfied(ModObj, DpObj, ReturnCode):
+ continue
+ else:
+ return False
+ return True
+
+ ## Check whether a DP exists in current workspace.
+ #
+ # @param Guid: Guid of a module
+ # @param Version: Version of a module
+ #
+ def CheckDpExists(self, Guid, Version, ReturnCode=DEPEX_CHECK_SUCCESS):
+ if ReturnCode:
+ pass
+ Logger.Verbose(ST.MSG_CHECK_DP_START)
+ DpList = self.IpiDb.GetDp(Guid, Version)
+ if len(DpList) > 0:
+ return True
+ else:
+ return False
+
+ Logger.Verbose(ST.MSG_CHECK_DP_FINISH)
+
+ ## Check whether a DP depex satisfied by current workspace.
+ #
+ # @param DpObj: Depex object
+ # @param ReturnCode: ReturnCode
+ #
+ def CheckDpDepexSatisfied(self, DpObj, ReturnCode=DEPEX_CHECK_SUCCESS):
+
+ for PkgKey in DpObj.PackageSurfaceArea.keys():
+ PkgObj = DpObj.PackageSurfaceArea[PkgKey]
+ if self.CheckPackageDepexSatisfied(PkgObj, DpObj, ReturnCode):
+ continue
+ else:
+ return False
+
+ for ModKey in DpObj.ModuleSurfaceArea.keys():
+ ModObj = DpObj.ModuleSurfaceArea[ModKey]
+ if self.CheckModuleDepexSatisfied(ModObj, DpObj, ReturnCode):
+ continue
+ else:
+ return False
+
+ return True
+
+ ## Check whether a DP depex satisfied by current workspace. Return False
+ # if Can not remove (there is dependency), True else
+ #
+ # @param DpGuid: File's guid
+ # @param DpVersion: File's version
+ # @param ReturnCode: ReturnCode
+ #
+ def CheckDpDepexForRemove(self, DpGuid, DpVersion, \
+ ReturnCode=DEPEX_CHECK_SUCCESS):
+ if ReturnCode:
+ pass
+ Removable = True
+ DependModuleList = []
+ WsModuleList = self.WsModuleList
+ #
+ # remove modules that included in current DP
+ # List of item (FilePath)
+ DpModuleList = self.IpiDb.GetDpModuleList(DpGuid, DpVersion)
+ for Module in DpModuleList:
+ if Module in WsModuleList:
+ WsModuleList.remove(Module)
+ else:
+ Logger.Warn("UPT\n",
+ ST.ERR_MODULE_NOT_INSTALLED % Module)
+ #
+ # get packages in current Dp and find the install path
+ # List of item (PkgGuid, PkgVersion, InstallPath)
+ DpPackageList = self.IpiDb.GetPackageListFromDp(DpGuid, DpVersion)
+ DpPackagePathList = []
+ WorkSP = environ["WORKSPACE"]
+ for (PkgName, PkgGuid, PkgVersion, DecFile) in self.WsPkgList:
+ if PkgName:
+ pass
+ DecPath = dirname(DecFile)
+ if DecPath.find(WorkSP) > -1:
+ InstallPath = DecPath[DecPath.find(WorkSP) + len(WorkSP) + 1:]
+ DecFileRelaPath = \
+ DecFile[DecFile.find(WorkSP) + len(WorkSP) + 1:]
+ else:
+ InstallPath = DecPath
+ DecFileRelaPath = DecFile
+
+ if (PkgGuid, PkgVersion, InstallPath) in DpPackageList:
+ DpPackagePathList.append(DecFileRelaPath)
+ DpPackageList.remove((PkgGuid, PkgVersion, InstallPath))
+
+ #
+ # the left items in DpPackageList are the packages that installed but not found anymore
+ #
+ for (PkgGuid, PkgVersion, InstallPath) in DpPackageList:
+ Logger.Warn("UPT",
+ ST.WARN_INSTALLED_PACKAGE_NOT_FOUND%(PkgGuid, PkgVersion, InstallPath))
+
+ #
+ # check modules to see if has dependency on package of current DP
+ #
+ for Module in WsModuleList:
+ if (CheckModuleDependFromInf(Module, DpPackagePathList)):
+ Removable = False
+ DependModuleList.append(Module)
+ return (Removable, DependModuleList)
+
+
+## check whether module depends on packages in DpPackagePathList, return True
+# if found, False else
+#
+# @param Path: a module path
+# @param DpPackagePathList: a list of Package Paths
+#
+def CheckModuleDependFromInf(Path, DpPackagePathList):
+
+ #
+ # use InfParser to parse inf, then get the information for now,
+ # later on, may consider only parse to get the package dependency info
+ # (Need to take care how to deal wit Macros)
+ #
+ WorkSP = getenv('WORKSPACE')
+
+ try:
+ PomAli = InfPomAlignment(Path, WorkSP, Skip=True)
+
+ for Item in PomAli.GetPackageDependencyList():
+ if Item.GetPackageFilePath() in DpPackagePathList:
+ Logger.Info(ST.MSG_MODULE_DEPEND_ON % (Path, Item.GetPackageFilePath()))
+ return True
+ else:
+ return False
+ except FatalError, ErrCode:
+ if ErrCode.message == EDK1_INF_ERROR:
+ Logger.Warn("UPT",
+ ST.WRN_EDK1_INF_FOUND%Path)
+ return False
+ else:
+ return False
+
+
+
Added: trunk/BaseTools/Source/Python/UPT/Core/DistributionPackageClass.py
===================================================================
--- trunk/BaseTools/Source/Python/UPT/Core/DistributionPackageClass.py (rev 0)
+++ trunk/BaseTools/Source/Python/UPT/Core/DistributionPackageClass.py 2011-06-27 02:46:33 UTC (rev 2184)
@@ -0,0 +1,228 @@
+## @file
+# This file is used to define a class object to describe a distribution package
+#
+# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
+#
+# This program and the accompanying materials are licensed and made available
+# under the terms and conditions of the BSD License which accompanies this
+# distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+'''
+DistributionPackageClass
+'''
+
+##
+# Import Modules
+#
+import os.path
+
+from Library.Misc import Sdict
+from Library.Misc import GetNonMetaDataFiles
+from PomAdapter.InfPomAlignment import InfPomAlignment
+from PomAdapter.DecPomAlignment import DecPomAlignment
+import Logger.Log as Logger
+from Logger import StringTable as ST
+from Logger.ToolError import OPTION_VALUE_INVALID
+from Logger.ToolError import FatalError
+from Logger.ToolError import EDK1_INF_ERROR
+from Object.POM.CommonObject import IdentificationObject
+from Object.POM.CommonObject import CommonHeaderObject
+from Object.POM.CommonObject import MiscFileObject
+
+## DistributionPackageHeaderClass
+#
+# @param IdentificationObject: Identification Object
+# @param CommonHeaderObject: Common Header Object
+#
+class DistributionPackageHeaderObject(IdentificationObject, \
+ CommonHeaderObject):
+ def __init__(self):
+ IdentificationObject.__init__(self)
+ CommonHeaderObject.__init__(self)
+ self.ReadOnly = ''
+ self.RePackage = ''
+ self.Vendor = ''
+ self.Date = ''
+ self.Signature = 'Md5Sum'
+ self.XmlSpecification = ''
+
+ def GetReadOnly(self):
+ return self.ReadOnly
+
+ def SetReadOnly(self, ReadOnly):
+ self.ReadOnly = ReadOnly
+
+ def GetRePackage(self):
+ return self.RePackage
+
+ def SetRePackage(self, RePackage):
+ self.RePackage = RePackage
+
+ def GetVendor(self):
+ return self.Vendor
+
+ def SetDate(self, Date):
+ self.Date = Date
+
+ def GetDate(self):
+ return self.Date
+
+ def SetSignature(self, Signature):
+ self.Signature = Signature
+
+ def GetSignature(self):
+ return self.Signature
+
+ def SetXmlSpecification(self, XmlSpecification):
+ self.XmlSpecification = XmlSpecification
+
+ def GetXmlSpecification(self):
+ return self.XmlSpecification
+
+## DistributionPackageClass
+#
+# @param object: DistributionPackageClass
+#
+class DistributionPackageClass(object):
+ def __init__(self):
+ self.Header = DistributionPackageHeaderObject()
+ #
+ # {(Guid, Version, Path) : PackageObj}
+ #
+ self.PackageSurfaceArea = Sdict()
+ #
+ # {(Guid, Version, Path) : ModuleObj}
+ #
+ self.ModuleSurfaceArea = Sdict()
+ self.Tools = MiscFileObject()
+ self.MiscellaneousFiles = MiscFileObject()
+ self.UserExtensions = []
+ self.FileList = []
+
+ ## Get all included packages and modules for a distribution package
+ #
+ # @param WorkspaceDir: WorkspaceDir
+ # @param PackageList: A list of all packages
+ # @param ModuleList: A list of all modules
+ #
+ def GetDistributionPackage(self, WorkspaceDir, PackageList, ModuleList):
+ #
+ # Get Packages
+ #
+ if PackageList:
+ for PackageFile in PackageList:
+ PackageFileFullPath = \
+ os.path.normpath(os.path.join(WorkspaceDir, PackageFile))
+ DecObj = DecPomAlignment(PackageFileFullPath, WorkspaceDir, CheckMulDec = True)
+ PackageObj = DecObj
+ #
+ # Parser inf file one bye one
+ #
+ ModuleInfFileList = PackageObj.GetModuleFileList()
+ for File in ModuleInfFileList:
+ WsRelPath = os.path.join(PackageObj.GetPackagePath(), File)
+ WsRelPath = os.path.normpath(WsRelPath)
+ if ModuleList and WsRelPath in ModuleList:
+ Logger.Error("UPT",
+ OPTION_VALUE_INVALID,
+ ST.ERR_NOT_STANDALONE_MODULE_ERROR%\
+ (WsRelPath, PackageFile))
+ Filename = os.path.normpath\
+ (os.path.join(PackageObj.GetRelaPath(), File))
+ os.path.splitext(Filename)
+ #
+ # Call INF parser to generate Inf Object.
+ # Actually, this call is not directly call, but wrapped by
+ # Inf class in InfPomAlignment.
+ #
+ try:
+ ModuleObj = InfPomAlignment(Filename, WorkspaceDir, \
+ PackageObj.GetPackagePath())
+
+ #
+ # Add module to package
+ #
+ ModuleDict = PackageObj.GetModuleDict()
+ ModuleDict[(ModuleObj.GetGuid(), \
+ ModuleObj.GetVersion(), \
+ ModuleObj.GetCombinePath())] = ModuleObj
+ PackageObj.SetModuleDict(ModuleDict)
+ except FatalError, ErrCode:
+ if ErrCode.message == EDK1_INF_ERROR:
+ Logger.Warn("UPT",
+ ST.WRN_EDK1_INF_FOUND%Filename)
+ else:
+ raise
+
+ self.PackageSurfaceArea\
+ [(PackageObj.GetGuid(), PackageObj.GetVersion(), \
+ PackageObj.GetCombinePath())] = PackageObj
+
+ #
+ # Get Modules
+ #
+ if ModuleList:
+ for ModuleFile in ModuleList:
+ ModuleFileFullPath = \
+ os.path.normpath(os.path.join(WorkspaceDir, ModuleFile))
+ try:
+ ModuleObj = InfPomAlignment(ModuleFileFullPath,
+ WorkspaceDir)
+ self.ModuleSurfaceArea[(ModuleObj.GetGuid(), \
+ ModuleObj.GetVersion(), \
+ ModuleObj.GetCombinePath())] = \
+ ModuleObj
+ except FatalError, ErrCode:
+ if ErrCode.message == EDK1_INF_ERROR:
+ Logger.Error("UPT",
+ EDK1_INF_ERROR,
+ ST.WRN_EDK1_INF_FOUND%ModuleFileFullPath,
+ ExtraData=ST.ERR_NOT_SUPPORTED_SA_MODULE)
+ else:
+ raise
+
+ ## Get all files included for a distribution package, except tool/misc of
+ # distribution level
+ #
+ # @retval DistFileList A list of filepath for NonMetaDataFile, relative to workspace
+ # @retval MetaDataFileList A list of filepath for MetaDataFile, relative to workspace
+ #
+ def GetDistributionFileList(self):
+ MetaDataFileList = []
+
+ for Guid, Version, Path in self.PackageSurfaceArea:
+ Package = self.PackageSurfaceArea[Guid, Version, Path]
+ PackagePath = Package.GetPackagePath()
+ FullPath = Package.GetFullPath()
+ MetaDataFileList.append(Path)
+ IncludePathList = Package.GetIncludePathList()
+ for IncludePath in IncludePathList:
+ SearchPath = os.path.normpath(os.path.join(os.path.dirn...
[truncated message content] |
|
From: <yd...@us...> - 2011-07-12 06:55:46
|
Revision: 2209
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2209&view=rev
Author: ydong10
Date: 2011-07-12 06:55:40 +0000 (Tue, 12 Jul 2011)
Log Message:
-----------
Enable new efi varstore storage format.
Signed-off-by: ydong10
Reviewed-by: lgao4
Modified Paths:
--------------
trunk/BaseTools/Conf/build_rule.template
trunk/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
trunk/BaseTools/Source/Python/AutoGen/AutoGen.py
Modified: trunk/BaseTools/Conf/build_rule.template
===================================================================
--- trunk/BaseTools/Conf/build_rule.template 2011-07-12 06:51:36 UTC (rev 2208)
+++ trunk/BaseTools/Conf/build_rule.template 2011-07-12 06:55:40 UTC (rev 2209)
@@ -198,7 +198,7 @@
-$(MD) $(OUTPUT_DIR)(+)${s_dir} > NUL 2>&1
"$(VFRPP)" $(VFRPP_FLAGS) $(INC) ${src} > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i
-$(MD) ${d_path} > NUL 2>&1
- "$(VFR)" $(VFR_FLAGS) --output-directory ${d_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i
+ "$(VFR)" $(VFR_FLAGS) --string-db $(OUTPUT_DIR)(+)$(MODULE_NAME)StrDefs.hpk --output-directory ${d_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i
[Object-File]
<InputFile>
@@ -474,6 +474,7 @@
<OutputFile>
$(DEBUG_DIR)(+)AutoGen.c
$(DEBUG_DIR)(+)$(MODULE_NAME)StrDefs.h
+ $(OUTPUT_DIR)(+)$(MODULE_NAME)StrDefs.hpk
<Command>
@@ -513,7 +514,7 @@
-$(MD) $(OUTPUT_DIR)(+)${s_dir} > NUL 2>&1
"$(VFRPP)" $(VFRPP_FLAGS) $(INC) ${src} > $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i
-$(MD) $(OUTPUT_DIR)(+)${s_dir} > NUL 2>&1
- "$(VFR)" $(VFR_FLAGS) --create-ifr-package --output-directory $(OUTPUT_DIR)(+)${s_dir} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i
+ "$(VFR)" $(VFR_FLAGS) --create-ifr-package --string-db $(OUTPUT_DIR)(+)$(MODULE_NAME)StrDefs.hpk --output-directory $(OUTPUT_DIR)(+)${s_dir} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i
[Hii-Binary-Package.UEFI_HII]
<InputFile>
Modified: trunk/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
===================================================================
--- trunk/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h 2011-07-12 06:51:36 UTC (rev 2208)
+++ trunk/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h 2011-07-12 06:55:40 UTC (rev 2209)
@@ -749,6 +749,8 @@
EFI_VARSTORE_ID VarStoreId;
EFI_GUID Guid;
UINT32 Attributes;
+ UINT16 Size;
+ UINT8 Name[1];
} EFI_IFR_VARSTORE_EFI;
typedef struct _EFI_IFR_VARSTORE_NAME_VALUE {
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp 2011-07-12 06:51:36 UTC (rev 2208)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp 2011-07-12 06:55:40 UTC (rev 2209)
@@ -22,6 +22,7 @@
PACKAGE_DATA gCBuffer;
PACKAGE_DATA gRBuffer;
+CVfrStringDB gCVfrStringDB;
VOID
CVfrCompiler::DebugError (
@@ -132,6 +133,14 @@
AppendCPreprocessorOptions (Argv[Index]);
} else if (stricmp(Argv[Index], "-c") == 0 || stricmp(Argv[Index], "--compatible-framework") == 0) {
mOptions.CompatibleMode = TRUE;
+ } else if (stricmp(Argv[Index], "-s") == 0|| stricmp(Argv[Index], "--string-db") == 0) {
+ Index++;
+ if ((Index >= Argc) || (Argv[Index][0] == '-')) {
+ DebugError (NULL, 0, 1001, "Missing option", "-s missing input string file name");
+ goto Fail;
+ }
+ gCVfrStringDB.SetStringFileName(Argv[Index]);
+ DebugMsg (NULL, 0, 9, (CHAR8 *) "Input string file path", Argv[Index]);
} else {
DebugError (NULL, 0, 1000, "Unknown option", "unrecognized option %s", Argv[Index]);
goto Fail;
@@ -399,6 +408,8 @@
" do not preprocessing input file",
" -c, --compatible-framework",
" compatible framework vfr file",
+ " -s, --string-db",
+ " input uni string package file",
NULL
};
for (Index = 0; Help[Index] != NULL; Index++) {
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2011-07-12 06:51:36 UTC (rev 2208)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2011-07-12 06:55:40 UTC (rev 2209)
@@ -144,7 +144,8 @@
);
};
-extern CFormPkg gCFormPkg;
+extern CFormPkg gCFormPkg;
+extern CVfrStringDB gCVfrStringDB;
struct SIfrRecord {
UINT32 mLineNo;
@@ -233,6 +234,15 @@
return FALSE;
}
}
+
+ inline bool ShrinkObjBin (IN UINT8 Size) {
+ if ((mDelayEmit == TRUE) && (mObjBinLen > Size)) {
+ mObjBinLen -= Size;
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+ }
};
/*
@@ -254,7 +264,7 @@
VOID DecLength (UINT8 Size) {
if (mHeader->Length >= Size) {
- mHeader -= Size;
+ mHeader->Length -= Size;
}
}
@@ -755,10 +765,12 @@
EFI_IFR_VARSTORE_EFI *mVarStoreEfi;
public:
- CIfrVarStoreEfi () : CIfrObj (EFI_IFR_VARSTORE_EFI_OP, (CHAR8 **)&mVarStoreEfi),
+ CIfrVarStoreEfi () : CIfrObj (EFI_IFR_VARSTORE_EFI_OP, (CHAR8 **)&mVarStoreEfi, sizeof (EFI_IFR_VARSTORE_EFI), TRUE),
CIfrOpHeader (EFI_IFR_VARSTORE_EFI_OP, &mVarStoreEfi->Header) {
mVarStoreEfi->VarStoreId = EFI_VAROFFSET_INVALID;
+ mVarStoreEfi->Size = 0;
memset (&mVarStoreEfi->Guid, 0, sizeof (EFI_GUID));
+ mVarStoreEfi->Name[0] = '\0';
}
VOID SetGuid (IN EFI_GUID *Guid) {
@@ -772,6 +784,36 @@
VOID SetAttributes (IN UINT32 Attributes) {
mVarStoreEfi->Attributes = Attributes;
}
+ VOID SetSize (IN UINT16 Size) {
+ mVarStoreEfi->Size = Size;
+ }
+
+ VOID SetName (IN CHAR8 *Name) {
+ UINT8 Len;
+
+ if (Name != NULL) {
+ Len = (UINT8) strlen (Name);
+ if (Len != 0) {
+ if (ExpendObjBin (Len) == TRUE) {
+ IncLength (Len);
+ strcpy ((CHAR8 *)(mVarStoreEfi->Name), Name);
+ }
+ }
+ }
+ }
+
+ VOID SetBinaryLength (IN UINT16 Size) {
+ UINT16 Len;
+
+ Len = sizeof (EFI_IFR_VARSTORE_EFI);
+ if (Size > Len) {
+ ExpendObjBin(Size - Len);
+ IncLength(Size - Len);
+ } else {
+ ShrinkObjBin(Len - Size);
+ DecLength(Len - Size);
+ }
+ }
};
class CIfrVarStoreNameValue : public CIfrObj, public CIfrOpHeader {
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2011-07-12 06:51:36 UTC (rev 2208)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2011-07-12 06:55:40 UTC (rev 2209)
@@ -853,22 +853,102 @@
vfrStatementVarStoreEfi :
<<
+ BOOLEAN IsUEFI23EfiVarstore = TRUE;
EFI_GUID Guid;
CIfrVarStoreEfi VSEObj;
- EFI_VARSTORE_ID VarStoreId;
+ EFI_VARSTORE_ID VarStoreId = EFI_VARSTORE_ID_INVALID;
UINT32 Attr = 0;
+ UINT32 Size;
+ CHAR8 *TypeName;
+ UINT32 LineNum;
+ CHAR8 *StoreName = NULL;
>>
E:Efivarstore << VSEObj.SetLineNo(E->getLine()); >>
- SN:StringIdentifier ","
+ (
+ TN:StringIdentifier "," << TypeName = TN->getText(); LineNum = TN->getLine(); >>
+ | U8:"UINT8" "," << TypeName = U8->getText(); LineNum = U8->getLine(); >>
+ | U16:"UINT16" "," << TypeName = U16->getText(); LineNum = U16->getLine(); >>
+ | C16:"CHAR16" "," << TypeName = (CHAR8 *) "UINT16"; LineNum = C16->getLine(); >>
+ | U32:"UINT32" "," << TypeName = U32->getText(); LineNum = U32->getLine(); >>
+ | U64:"UINT64" "," << TypeName = U64->getText(); LineNum = U64->getLine(); >>
+ | D:"EFI_HII_DATE" "," << TypeName = D->getText(); LineNum = D->getLine(); >>
+ | T:"EFI_HII_TIME" "," << TypeName = T->getText(); LineNum = T->getLine(); >>
+ | R:"EFI_HII_REF" "," << TypeName = R->getText(); LineNum = R->getLine(); >>
+ )
+ {
+ VarId "=" ID:Number "," <<
+ _PCATCH(
+ (INTN)(VarStoreId = _STOU16(ID->getText())) != 0,
+ (INTN)TRUE,
+ ID,
+ "varid 0 is not allowed."
+ );
+ >>
+ }
Attribute "=" vfrVarStoreEfiAttr[Attr] ( "\|" vfrVarStoreEfiAttr[Attr] )* ","
<< VSEObj.SetAttributes (Attr); >>
- Name "=" "STRING_TOKEN" "\(" VN:Number "\)" ","
- VarSize "=" N:Number ","
- Uuid "=" guidDefinition[Guid] << mCVfrDataStorage.DeclareEfiVarStore (SN->getText(), &Guid, _STOSID(VN->getText()), _STOU32(N->getText())); >>
- <<
- VSEObj.SetGuid (&Guid);
- _PCATCH(mCVfrDataStorage.GetVarStoreId(SN->getText(), &VarStoreId), SN);
+
+ (
+ Name "=" SN:StringIdentifier "," << StoreName = SN->getText(); >>
+ |
+ Name "=" "STRING_TOKEN" "\(" VN:Number "\)" ","
+ VarSize "=" N:Number "," <<
+ IsUEFI23EfiVarstore = FALSE;
+ gCVfrStringDB.GetVarStoreNameFormStringId(_STOSID(VN->getText()), &StoreName);
+ if (StoreName == NULL) {
+ _PCATCH (VFR_RETURN_UNSUPPORTED, VN->getLine(), "Can't get varstore name for this StringId!");
+ }
+ Size = _STOU32(N->getText());
+ switch (Size) {
+ case 1:
+ TypeName = (CHAR8 *) "UINT8";
+ break;
+ case 2:
+ TypeName = (CHAR8 *) "UINT16";
+ break;
+ case 4:
+ TypeName = (CHAR8 *) "UINT32";
+ break;
+ case 8:
+ TypeName = (CHAR8 *) "UINT64";
+ break;
+ default:
+ _PCATCH (VFR_RETURN_UNSUPPORTED, N);
+ break;
+ }
+ >>
+ )
+
+ Uuid "=" guidDefinition[Guid] <<
+ if (IsUEFI23EfiVarstore) {
+ _PCATCH(mCVfrDataStorage.DeclareBufferVarStore (
+ StoreName,
+ &Guid,
+ &gCVfrVarDataTypeDB,
+ TypeName,
+ VarStoreId
+ ), LineNum);
+ _PCATCH(mCVfrDataStorage.GetVarStoreId(StoreName, &VarStoreId), SN);
+ _PCATCH(gCVfrVarDataTypeDB.GetDataTypeSize(TypeName, &Size), LineNum);
+ } else {
+ _PCATCH(mCVfrDataStorage.DeclareBufferVarStore (
+ TN->getText(),
+ &Guid,
+ &gCVfrVarDataTypeDB,
+ TypeName,
+ VarStoreId
+ ), LineNum);
+ _PCATCH(mCVfrDataStorage.GetVarStoreId(TN->getText(), &VarStoreId), VN);
+ _PCATCH(gCVfrVarDataTypeDB.GetDataTypeSize(TypeName, &Size), N->getLine());
+ }
+ VSEObj.SetGuid (&Guid);
VSEObj.SetVarStoreId (VarStoreId);
+
+ VSEObj.SetSize ((UINT16) Size);
+ VSEObj.SetName (StoreName);
+ if (IsUEFI23EfiVarstore == FALSE && StoreName != NULL) {
+ delete StoreName;
+ }
>>
";"
;
@@ -1547,7 +1627,7 @@
CIfrRef5 *R5Obj = NULL;
>>
G:Goto
- (
+ {
(
DevicePath "=" "STRING_TOKEN" "\(" P:Number "\)" ","
FormSetGuid "=" guidDefinition[FSId] ","
@@ -1587,10 +1667,7 @@
FId = _STOFID(F4->getText());
>>
)
- |
- (
- )
- )
+ }
<<
switch (RefType) {
case 5:
@@ -4294,6 +4371,9 @@
VSEObj.SetAttributes (0x00000002); //hardcode EFI_VARIABLE_BOOTSERVICE_ACCESS attribute
VSEObj.SetGuid (&pNode->mGuid);
VSEObj.SetVarStoreId (pNode->mVarStoreId);
+ // Generate old efi varstore storage structure for compatiable with old "VarEqVal" opcode,
+ // which is 3 bytes less than new structure define in UEFI Spec 2.3.1.
+ VSEObj.SetBinaryLength (sizeof (EFI_IFR_VARSTORE_EFI) - 3);
#ifdef VFREXP_DEBUG
printf ("undefined Efi VarStoreName is %s and Id is 0x%x\n", pNode->mVarStoreName, pNode->mVarStoreId);
#endif
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp 2011-07-12 06:51:36 UTC (rev 2208)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp 2011-07-12 06:55:40 UTC (rev 2209)
@@ -3034,6 +3034,406 @@
return VFR_RETURN_UNDEFINED;
}
+CVfrStringDB::CVfrStringDB ()
+{
+ mStringFileName = NULL;
+}
+
+CVfrStringDB::~CVfrStringDB ()
+{
+ if (mStringFileName != NULL) {
+ delete mStringFileName;
+ }
+ mStringFileName = NULL;
+}
+
+
+VOID
+CVfrStringDB::SetStringFileName(IN CHAR8 *StringFileName)
+{
+ UINT32 FileLen = 0;
+
+ if (StringFileName == NULL) {
+ return;
+ }
+
+ FileLen = strlen (StringFileName) + 1;
+ mStringFileName = new CHAR8[FileLen];
+ if (mStringFileName == NULL) {
+ return;
+ }
+
+ strcpy (mStringFileName, StringFileName);
+ mStringFileName[FileLen - 1] = '\0';
+}
+
+VOID
+CVfrStringDB::GetVarStoreNameFormStringId (
+ IN EFI_STRING_ID StringId,
+ OUT CHAR8 **VarStoreName
+ )
+{
+ FILE *pInFile = NULL;
+ UINT32 NameOffset;
+ UINT32 Length;
+ CHAR8 *StringPtr;
+ CHAR8 *StringName;
+ CHAR16 *UnicodeString;
+ CHAR8 *DestTmp;
+ EFI_STATUS Status;
+ CHAR8 LineBuf[EFI_IFR_MAX_LENGTH];
+ UINT8 BlockType;
+ EFI_HII_STRING_PACKAGE_HDR PkgHeader;
+
+ if (VarStoreName == NULL) {
+ return;
+ }
+
+ *VarStoreName = NULL;
+
+ if (mStringFileName == '\0' ) {
+ return;
+ }
+
+ if ((pInFile = fopen (mStringFileName, "r")) == NULL) {
+ return;
+ }
+
+ //
+ // fgets will add "\0" at the end of the string, so need to add one byte extra buffer.
+ //
+ while (fgets ((char *)(&PkgHeader), sizeof (EFI_HII_STRING_PACKAGE_HDR), pInFile) != NULL) {
+
+ if (PkgHeader.Header.Type != EFI_HII_PACKAGE_STRINGS) {
+ fclose (pInFile);
+ return;
+ }
+
+ Length = PkgHeader.HdrSize - sizeof (EFI_HII_STRING_PACKAGE_HDR) + 1 + 1;
+ if (fgets (LineBuf, Length, pInFile) == NULL) {
+ fclose (pInFile);
+ return;
+ }
+
+ Length = PkgHeader.Header.Length - PkgHeader.HdrSize + 1;
+ StringPtr = new CHAR8[Length];
+ if (StringPtr == NULL) {
+ fclose (pInFile);
+ }
+
+ if (fgets (StringPtr, Length, pInFile) == NULL ) {
+ fclose (pInFile);
+ return;
+ }
+
+ if (strcmp (LineBuf, "en-US") == 0) {
+ //
+ // Skip the data that the language is not english.
+ //
+ break;
+ }
+ delete StringPtr;
+ }
+
+ //
+ // Find the string block according the stringId.
+ //
+ Status = FindStringBlock(StringPtr, StringId, &NameOffset, &BlockType);
+ if (Status != EFI_SUCCESS) {
+ delete StringPtr;
+ fclose (pInFile);
+ return;
+ }
+
+ //
+ // Get varstore name according the string type.
+ //
+ switch (BlockType) {
+ case EFI_HII_SIBT_STRING_SCSU:
+ case EFI_HII_SIBT_STRING_SCSU_FONT:
+ case EFI_HII_SIBT_STRINGS_SCSU:
+ case EFI_HII_SIBT_STRINGS_SCSU_FONT:
+ StringName = StringPtr + NameOffset;
+ *VarStoreName = new CHAR8[strlen(StringName) + 1];
+ strcpy (*VarStoreName, StringName);
+ break;
+ case EFI_HII_SIBT_STRING_UCS2:
+ case EFI_HII_SIBT_STRING_UCS2_FONT:
+ case EFI_HII_SIBT_STRINGS_UCS2:
+ case EFI_HII_SIBT_STRINGS_UCS2_FONT:
+ UnicodeString = (CHAR16*)(StringPtr + NameOffset);
+ Status = GetUnicodeStringTextOrSize (NULL, (CHAR8*)UnicodeString, &Length) ;
+ DestTmp = new CHAR8[Length / 2 + 1];
+ *VarStoreName = DestTmp;
+ while (*UnicodeString != '\0') {
+ *(DestTmp++) = (CHAR8) *(UnicodeString++);
+ }
+ *DestTmp = '\0';
+ break;
+ default:
+ break;
+ }
+
+ delete StringPtr;
+ fclose (pInFile);
+}
+
+EFI_STATUS
+CVfrStringDB::FindStringBlock (
+ IN CHAR8 *StringData,
+ IN EFI_STRING_ID StringId,
+ OUT UINTN *StringTextOffset,
+ OUT UINT8 *BlockType
+ )
+{
+ CHAR8 *BlockHdr;
+ EFI_STRING_ID CurrentStringId;
+ UINTN BlockSize;
+ UINTN Index;
+ CHAR8 *StringTextPtr;
+ UINTN Offset;
+ UINT16 StringCount;
+ UINT16 SkipCount;
+ UINT8 Length8;
+ EFI_HII_SIBT_EXT2_BLOCK Ext2;
+ UINT32 Length32;
+ UINTN StringSize;
+
+ CurrentStringId = 1;
+
+ //
+ // Parse the string blocks to get the string text and font.
+ //
+ BlockHdr = StringData;
+ BlockSize = 0;
+ Offset = 0;
+ while (*BlockHdr != EFI_HII_SIBT_END) {
+ switch (*BlockHdr) {
+ case EFI_HII_SIBT_STRING_SCSU:
+ Offset = sizeof (EFI_HII_STRING_BLOCK);
+ StringTextPtr = BlockHdr + Offset;
+ BlockSize += Offset + strlen ((CHAR8 *) StringTextPtr) + 1;
+ CurrentStringId++;
+ break;
+
+ case EFI_HII_SIBT_STRING_SCSU_FONT:
+ Offset = sizeof (EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK) - sizeof (UINT8);
+ StringTextPtr = BlockHdr + Offset;
+ BlockSize += Offset + strlen ((CHAR8 *) StringTextPtr) + 1;
+ CurrentStringId++;
+ break;
+
+ case EFI_HII_SIBT_STRINGS_SCSU:
+ memcpy (&StringCount, BlockHdr + sizeof (EFI_HII_STRING_BLOCK), sizeof (UINT16));
+ StringTextPtr = BlockHdr + sizeof (EFI_HII_SIBT_STRINGS_SCSU_BLOCK) - sizeof (UINT8);
+ BlockSize += StringTextPtr - BlockHdr;
+
+ for (Index = 0; Index < StringCount; Index++) {
+ BlockSize += strlen ((CHAR8 *) StringTextPtr) + 1;
+ if (CurrentStringId == StringId) {
+ *BlockType = *BlockHdr;
+ *StringTextOffset = StringTextPtr - StringData;
+ return EFI_SUCCESS;
+ }
+ StringTextPtr = StringTextPtr + strlen ((CHAR8 *) StringTextPtr) + 1;
+ CurrentStringId++;
+ }
+ break;
+
+ case EFI_HII_SIBT_STRINGS_SCSU_FONT:
+ memcpy (
+ &StringCount,
+ BlockHdr + sizeof (EFI_HII_STRING_BLOCK) + sizeof (UINT8),
+ sizeof (UINT16)
+ );
+ StringTextPtr = BlockHdr + sizeof (EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK) - sizeof (UINT8);
+ BlockSize += StringTextPtr - BlockHdr;
+
+ for (Index = 0; Index < StringCount; Index++) {
+ BlockSize += strlen ((CHAR8 *) StringTextPtr) + 1;
+ if (CurrentStringId == StringId) {
+ *BlockType = *BlockHdr;
+ *StringTextOffset = StringTextPtr - StringData;
+ return EFI_SUCCESS;
+ }
+ StringTextPtr = StringTextPtr + strlen ((CHAR8 *) StringTextPtr) + 1;
+ CurrentStringId++;
+ }
+ break;
+
+ case EFI_HII_SIBT_STRING_UCS2:
+ Offset = sizeof (EFI_HII_STRING_BLOCK);
+ StringTextPtr = BlockHdr + Offset;
+ //
+ // Use StringSize to store the size of the specified string, including the NULL
+ // terminator.
+ //
+ GetUnicodeStringTextOrSize (NULL, StringTextPtr, &StringSize);
+ BlockSize += Offset + StringSize;
+ CurrentStringId++;
+ break;
+
+ case EFI_HII_SIBT_STRING_UCS2_FONT:
+ Offset = sizeof (EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK) - sizeof (CHAR16);
+ StringTextPtr = BlockHdr + Offset;
+ //
+ // Use StrSize to store the size of the specified string, including the NULL
+ // terminator.
+ //
+ GetUnicodeStringTextOrSize (NULL, StringTextPtr, &StringSize);
+ BlockSize += Offset + StringSize;
+ CurrentStringId++;
+ break;
+
+ case EFI_HII_SIBT_STRINGS_UCS2:
+ Offset = sizeof (EFI_HII_SIBT_STRINGS_UCS2_BLOCK) - sizeof (CHAR16);
+ StringTextPtr = BlockHdr + Offset;
+ BlockSize += Offset;
+ memcpy (&StringCount, BlockHdr + sizeof (EFI_HII_STRING_BLOCK), sizeof (UINT16));
+ for (Index = 0; Index < StringCount; Index++) {
+ GetUnicodeStringTextOrSize (NULL, StringTextPtr, &StringSize);
+ BlockSize += StringSize;
+ if (CurrentStringId == StringId) {
+ *BlockType = *BlockHdr;
+ *StringTextOffset = StringTextPtr - StringData;
+ return EFI_SUCCESS;
+ }
+ StringTextPtr = StringTextPtr + StringSize;
+ CurrentStringId++;
+ }
+ break;
+
+ case EFI_HII_SIBT_STRINGS_UCS2_FONT:
+ Offset = sizeof (EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK) - sizeof (CHAR16);
+ StringTextPtr = BlockHdr + Offset;
+ BlockSize += Offset;
+ memcpy (
+ &StringCount,
+ BlockHdr + sizeof (EFI_HII_STRING_BLOCK) + sizeof (UINT8),
+ sizeof (UINT16)
+ );
+ for (Index = 0; Index < StringCount; Index++) {
+ GetUnicodeStringTextOrSize (NULL, StringTextPtr, &StringSize);
+ BlockSize += StringSize;
+ if (CurrentStringId == StringId) {
+ *BlockType = *BlockHdr;
+ *StringTextOffset = StringTextPtr - StringData;
+ return EFI_SUCCESS;
+ }
+ StringTextPtr = StringTextPtr + StringSize;
+ CurrentStringId++;
+ }
+ break;
+
+ case EFI_HII_SIBT_DUPLICATE:
+ if (CurrentStringId == StringId) {
+ //
+ // Incoming StringId is an id of a duplicate string block.
+ // Update the StringId to be the previous string block.
+ // Go back to the header of string block to search.
+ //
+ memcpy (
+ &StringId,
+ BlockHdr + sizeof (EFI_HII_STRING_BLOCK),
+ sizeof (EFI_STRING_ID)
+ );
+ CurrentStringId = 1;
+ BlockSize = 0;
+ } else {
+ BlockSize += sizeof (EFI_HII_SIBT_DUPLICATE_BLOCK);
+ CurrentStringId++;
+ }
+ break;
+
+ case EFI_HII_SIBT_SKIP1:
+ SkipCount = (UINT16) (*(BlockHdr + sizeof (EFI_HII_STRING_BLOCK)));
+ CurrentStringId = (UINT16) (CurrentStringId + SkipCount);
+ BlockSize += sizeof (EFI_HII_SIBT_SKIP1_BLOCK);
+ break;
+
+ case EFI_HII_SIBT_SKIP2:
+ memcpy (&SkipCount, BlockHdr + sizeof (EFI_HII_STRING_BLOCK), sizeof (UINT16));
+ CurrentStringId = (UINT16) (CurrentStringId + SkipCount);
+ BlockSize += sizeof (EFI_HII_SIBT_SKIP2_BLOCK);
+ break;
+
+ case EFI_HII_SIBT_EXT1:
+ memcpy (
+ &Length8,
+ BlockHdr + sizeof (EFI_HII_STRING_BLOCK) + sizeof (UINT8),
+ sizeof (UINT8)
+ );
+ BlockSize += Length8;
+ break;
+
+ case EFI_HII_SIBT_EXT2:
+ memcpy (&Ext2, BlockHdr, sizeof (EFI_HII_SIBT_EXT2_BLOCK));
+ BlockSize += Ext2.Length;
+ break;
+
+ case EFI_HII_SIBT_EXT4:
+ memcpy (
+ &Length32,
+ BlockHdr + sizeof (EFI_HII_STRING_BLOCK) + sizeof (UINT8),
+ sizeof (UINT32)
+ );
+
+ BlockSize += Length32;
+ break;
+
+ default:
+ break;
+ }
+
+ if (StringId > 0 && StringId != (EFI_STRING_ID)(-1)) {
+ *StringTextOffset = BlockHdr - StringData + Offset;
+ *BlockType = *BlockHdr;
+
+ if (StringId == CurrentStringId - 1) {
+ //
+ // if only one skip item, return EFI_NOT_FOUND.
+ //
+ if(*BlockType == EFI_HII_SIBT_SKIP2 || *BlockType == EFI_HII_SIBT_SKIP1) {
+ return EFI_NOT_FOUND;
+ } else {
+ return EFI_SUCCESS;
+ }
+ }
+
+ if (StringId < CurrentStringId - 1) {
+ return EFI_NOT_FOUND;
+ }
+ }
+ BlockHdr = StringData + BlockSize;
+ }
+
+ return EFI_NOT_FOUND;
+}
+
+EFI_STATUS
+CVfrStringDB::GetUnicodeStringTextOrSize (
+ OUT EFI_STRING StringDest, OPTIONAL
+ IN CHAR8 *StringSrc,
+ IN OUT UINTN *BufferSize
+ )
+{
+ UINTN StringSize;
+ CHAR16 *StringPtr;
+
+ StringSize = (wcslen ((wchar_t*)StringSrc) + 1 ) * sizeof (CHAR16);
+ if (*BufferSize < StringSize) {
+ *BufferSize = StringSize;
+ return EFI_BUFFER_TOO_SMALL;
+ }
+
+ if (StringDest != NULL) {
+ wcscpy ((wchar_t*)StringDest, (wchar_t*)StringSrc);
+ }
+
+ *BufferSize = StringSize;
+ return EFI_SUCCESS;
+}
+
BOOLEAN VfrCompatibleMode = FALSE;
CVfrVarDataTypeDB gCVfrVarDataTypeDB;
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h 2011-07-12 06:51:36 UTC (rev 2208)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h 2011-07-12 06:55:40 UTC (rev 2209)
@@ -424,4 +424,36 @@
UINT8 GetRuleId (IN CHAR8 *);
};
+class CVfrStringDB {
+private:
+ CHAR8 *mStringFileName;
+
+ EFI_STATUS FindStringBlock (
+ IN CHAR8 *StringData,
+ IN EFI_STRING_ID StringId,
+ OUT UINTN *StringTextOffset,
+ OUT UINT8 *BlockType
+ );
+
+ EFI_STATUS GetUnicodeStringTextOrSize (
+ OUT EFI_STRING StringDest, OPTIONAL
+ IN CHAR8 *StringSrc,
+ IN OUT UINTN *BufferSize
+ );
+
+public:
+ CVfrStringDB ();
+ ~CVfrStringDB ();
+
+ VOID SetStringFileName (
+ IN CHAR8 *StringFileName
+ );
+
+ VOID GetVarStoreNameFormStringId (
+ IN EFI_STRING_ID StringId,
+ OUT CHAR8 **VarStoreName
+ );
+
+};
+
#endif
Modified: trunk/BaseTools/Source/Python/AutoGen/AutoGen.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2011-07-12 06:51:36 UTC (rev 2208)
+++ trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2011-07-12 06:55:40 UTC (rev 2209)
@@ -2166,9 +2166,8 @@
#
def _GetAutoGenFileList(self):
UniStringAutoGenC = True
- UniStringBinBuffer = None
+ UniStringBinBuffer = StringIO()
if self.BuildType == 'UEFI_HII':
- UniStringBinBuffer = StringIO()
UniStringAutoGenC = False
if self._AutoGenFileList == None:
self._AutoGenFileList = {}
This was sent by the SourceForge.net collaborative development platform, the world's lar...
[truncated message content] |
|
From: <js...@us...> - 2011-08-05 01:58:41
|
Revision: 2229
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2229&view=rev
Author: jsu1
Date: 2011-08-05 01:58:35 +0000 (Fri, 05 Aug 2011)
Log Message:
-----------
Add support for PCD usage in ASM16 code and update autogen to automatically include <Library/PcdLib.h> when PcdLib is listed in inf [LibraryClasses] section.
Signed-off-by: jsu1
Reviewed-by: lhauch
Modified Paths:
--------------
trunk/BaseTools/Conf/build_rule.template
trunk/BaseTools/Source/Python/AutoGen/GenC.py
Modified: trunk/BaseTools/Conf/build_rule.template
===================================================================
--- trunk/BaseTools/Conf/build_rule.template 2011-08-05 01:51:13 UTC (rev 2228)
+++ trunk/BaseTools/Conf/build_rule.template 2011-08-05 01:58:35 UTC (rev 2229)
@@ -417,6 +417,8 @@
$(OUTPUT_DIR)(+)${s_base}.com
<Command.MSFT, Command.INTEL>
+ "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i
+ Trim --source-code --convert-hex -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i
cd $(OUTPUT_DIR)(+)${s_dir}
"$(ASM16)" /nologo /c /omf $(INC) /Fo$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj ${src}
"$(ASMLINK)" $(ASMLINK_FLAGS) $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj,${dst},,,,
Modified: trunk/BaseTools/Source/Python/AutoGen/GenC.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/GenC.py 2011-08-05 01:51:13 UTC (rev 2228)
+++ trunk/BaseTools/Source/Python/AutoGen/GenC.py 2011-08-05 01:58:35 UTC (rev 2229)
@@ -1959,6 +1959,9 @@
if Info.ModuleType in gModuleTypeHeaderFile \
and gModuleTypeHeaderFile[Info.ModuleType][0] != gBasicHeaderFile:
AutoGenH.Append("#include <%s>\n" % gModuleTypeHeaderFile[Info.ModuleType][0])
+ if 'PcdLib' in Info.Module.LibraryClasses:
+ AutoGenH.Append("#include <Library/PcdLib.h>\n")
+
AutoGenH.Append('\nextern GUID gEfiCallerIdGuid;\n\n')
if Info.IsLibrary:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2011-08-17 01:32:43
|
Revision: 2254
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2254&view=rev
Author: jsu1
Date: 2011-08-17 01:32:34 +0000 (Wed, 17 Aug 2011)
Log Message:
-----------
Add option ?\226?\128?\147C to support creates a single capsule image.
Signed-off-by: jsu1
Reviewed-by: kgui1
Reviewed-by: lgao4
Reviewed-by: yingke
Modified Paths:
--------------
trunk/BaseTools/Source/Python/AutoGen/AutoGen.py
trunk/BaseTools/Source/Python/AutoGen/GenMake.py
trunk/BaseTools/Source/Python/GenFds/GenFds.py
trunk/BaseTools/Source/Python/build/build.py
trunk/BaseTools/UserManuals/Build_Utility_Man_Page.rtf
trunk/BaseTools/UserManuals/GenFds_Utility_Man_Page.rtf
Modified: trunk/BaseTools/Source/Python/AutoGen/AutoGen.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2011-08-16 05:48:28 UTC (rev 2253)
+++ trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2011-08-17 01:32:34 UTC (rev 2254)
@@ -169,10 +169,17 @@
# @param FlashDefinitionFile File of flash definition
# @param Fds FD list to be generated
# @param Fvs FV list to be generated
+ # @param Caps Capsule list to be generated
# @param SkuId SKU id from command line
#
def _Init(self, WorkspaceDir, ActivePlatform, Target, Toolchain, ArchList, MetaFileDb,
- BuildConfig, ToolDefinition, FlashDefinitionFile='', Fds=[], Fvs=[], SkuId='', UniFlag=None):
+ BuildConfig, ToolDefinition, FlashDefinitionFile='', Fds=None, Fvs=None, Caps=None, SkuId='', UniFlag=None):
+ if Fds is None:
+ Fds = []
+ if Fvs is None:
+ Fvs = []
+ if Caps is None:
+ Caps = []
self.BuildDatabase = MetaFileDb
self.MetaFile = ActivePlatform
self.WorkspaceDir = WorkspaceDir
@@ -188,6 +195,7 @@
self.FdfFile = FlashDefinitionFile
self.FdTargetList = Fds
self.FvTargetList = Fvs
+ self.CapTargetList = Caps
self.AutoGenObjectList = []
# there's many relative directory operations, so ...
@@ -249,6 +257,9 @@
if self.FvTargetList:
EdkLogger.info("No flash definition file found. FV [%s] will be ignored." % " ".join(self.FvTargetList))
self.FvTargetList = []
+ if self.CapTargetList:
+ EdkLogger.info("No flash definition file found. Capsule [%s] will be ignored." % " ".join(self.CapTargetList))
+ self.CapTargetList = []
# apply SKU and inject PCDs from Flash Definition file
for Arch in self.ArchList:
Modified: trunk/BaseTools/Source/Python/AutoGen/GenMake.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/GenMake.py 2011-08-16 05:48:28 UTC (rev 2253)
+++ trunk/BaseTools/Source/Python/AutoGen/GenMake.py 2011-08-17 01:32:34 UTC (rev 2254)
@@ -1253,7 +1253,7 @@
#
fds: init
\t-@cd $(FV_DIR)
-${BEGIN}\tGenFds -f ${fdf_file} -o $(BUILD_DIR) -t $(TOOLCHAIN) -b $(TARGET) -p ${active_platform} -a ${build_architecture_list} ${extra_options}${END}${BEGIN} -r ${fd} ${END}${BEGIN} -i ${fv} ${END}${BEGIN} -D ${macro} ${END}
+${BEGIN}\tGenFds -f ${fdf_file} -o $(BUILD_DIR) -t $(TOOLCHAIN) -b $(TARGET) -p ${active_platform} -a ${build_architecture_list} ${extra_options}${END}${BEGIN} -r ${fd} ${END}${BEGIN} -i ${fv} ${END}${BEGIN} -C ${cap} ${END}${BEGIN} -D ${macro} ${END}
#
# run command for emulator platform only
@@ -1370,6 +1370,7 @@
"active_platform" : str(PlatformInfo),
"fd" : PlatformInfo.FdTargetList,
"fv" : PlatformInfo.FvTargetList,
+ "cap" : PlatformInfo.CapTargetList,
"extra_options" : ExtraOption,
"macro" : MacroList,
}
Modified: trunk/BaseTools/Source/Python/GenFds/GenFds.py
===================================================================
--- trunk/BaseTools/Source/Python/GenFds/GenFds.py 2011-08-16 05:48:28 UTC (rev 2253)
+++ trunk/BaseTools/Source/Python/GenFds/GenFds.py 2011-08-17 01:32:34 UTC (rev 2254)
@@ -241,6 +241,13 @@
EdkLogger.error("GenFds", OPTION_VALUE_INVALID,
"No such an FV in FDF file: %s" % Options.uiFvName)
+ if (Options.uiCapName) :
+ if Options.uiCapName.upper() in FdfParserObj.Profile.CapsuleDict.keys():
+ GenFds.OnlyGenerateThisCap = Options.uiCapName
+ else:
+ EdkLogger.error("GenFds", OPTION_VALUE_INVALID,
+ "No such a Capsule in FDF file: %s" % Options.uiCapName)
+
"""Modify images from build output if the feature of loading driver at fixed address is on."""
if GenFdsGlobalVariable.FixedLoadAddress:
GenFds.PreprocessImage(BuildWorkSpace, GenFdsGlobalVariable.ActivePlatform)
@@ -304,7 +311,8 @@
Parser.add_option("-o", "--outputDir", type="string", dest="outputDir", help="Name of Build Output directory",
action="callback", callback=SingleCheckCallback)
Parser.add_option("-r", "--rom_image", dest="uiFdName", help="Build the image using the [FD] section named by FdUiName.")
- Parser.add_option("-i", "--FvImage", dest="uiFvName", help="Buld the FV image using the [FV] section named by UiFvName")
+ Parser.add_option("-i", "--FvImage", dest="uiFvName", help="Build the FV image using the [FV] section named by UiFvName")
+ Parser.add_option("-C", "--CapsuleImage", dest="uiCapName", help="Build the Capsule image using the [Capsule] section named by UiCapName")
Parser.add_option("-b", "--buildtarget", type="choice", choices=['DEBUG','RELEASE'], dest="BuildTarget", help="Build TARGET is one of list: DEBUG, RELEASE.",
action="callback", callback=SingleCheckCallback)
Parser.add_option("-t", "--tagname", type="string", dest="ToolChain", help="Using the tools: TOOL_CHAIN_TAG name to build the platform.",
@@ -327,6 +335,7 @@
ImageBinDict = {}
OnlyGenerateThisFd = None
OnlyGenerateThisFv = None
+ OnlyGenerateThisCap = None
## GenFd()
#
@@ -339,11 +348,18 @@
GenFdsGlobalVariable.SetDir ('', FdfParser, WorkSpace, ArchList)
GenFdsGlobalVariable.VerboseLogger(" Generate all Fd images and their required FV and Capsule images!")
+ if GenFds.OnlyGenerateThisCap != None and GenFds.OnlyGenerateThisCap.upper() in GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict.keys():
+ CapsuleObj = GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict.get(GenFds.OnlyGenerateThisCap.upper())
+ if CapsuleObj != None:
+ CapsuleObj.GenCapsule()
+ return
+
if GenFds.OnlyGenerateThisFd != None and GenFds.OnlyGenerateThisFd.upper() in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys():
FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict.get(GenFds.OnlyGenerateThisFd.upper())
if FdObj != None:
FdObj.GenFd()
- elif GenFds.OnlyGenerateThisFd == None:
+ return
+ elif GenFds.OnlyGenerateThisFd == None and GenFds.OnlyGenerateThisFv == None:
for FdName in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys():
FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict[FdName]
FdObj.GenFd()
@@ -363,7 +379,7 @@
FvObj.AddToBuffer(Buffer)
Buffer.close()
- if GenFds.OnlyGenerateThisFv == None and GenFds.OnlyGenerateThisFd == None:
+ if GenFds.OnlyGenerateThisFv == None and GenFds.OnlyGenerateThisFd == None and GenFds.OnlyGenerateThisCap == None:
if GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict != {}:
GenFdsGlobalVariable.VerboseLogger("\n Generate other Capsule images!")
for CapsuleName in GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict.keys():
Modified: trunk/BaseTools/Source/Python/build/build.py
===================================================================
--- trunk/BaseTools/Source/Python/build/build.py 2011-08-16 05:48:28 UTC (rev 2253)
+++ trunk/BaseTools/Source/Python/build/build.py 2011-08-17 01:32:34 UTC (rev 2254)
@@ -712,6 +712,7 @@
self.Fdf = BuildOptions.FdfFile
self.FdList = BuildOptions.RomImage
self.FvList = BuildOptions.FvImage
+ self.CapList = BuildOptions.CapName
self.SilentMode = BuildOptions.SilentMode
self.ThreadNumber = BuildOptions.ThreadNumber
self.SkipAutoGen = BuildOptions.SkipAutoGen
@@ -1231,6 +1232,7 @@
self.Fdf,
self.FdList,
self.FvList,
+ self.CapList,
self.SkuId,
self.UniFlag
)
@@ -1304,6 +1306,7 @@
self.Fdf,
self.FdList,
self.FvList,
+ self.CapList,
self.SkuId,
self.UniFlag
)
@@ -1387,6 +1390,7 @@
self.Fdf,
self.FdList,
self.FvList,
+ self.CapList,
self.SkuId,
self.UniFlag
)
@@ -1510,6 +1514,7 @@
self.Fdf,
self.FdList,
self.FvList,
+ self.CapList,
self.SkuId,
self.UniFlag
)
@@ -1658,7 +1663,8 @@
help="The name of FD to be generated. The name must be from [FD] section in FDF file.")
Parser.add_option("-i", "--fv-image", action="append", type="string", dest="FvImage", default=[],
help="The name of FV to be generated. The name must be from [FV] section in FDF file.")
-
+ Parser.add_option("-C", "--capsule-image", action="append", type="string", dest="CapName", default=[],
+ help="The name of Capsule to be generated. The name must be from [Capsule] section in FDF file.")
Parser.add_option("-u", "--skip-autogen", action="store_true", dest="SkipAutoGen", help="Skip AutoGen step.")
Parser.add_option("-e", "--re-parse", action="store_true", dest="Reparse", help="Re-parse all meta-data files.")
Modified: trunk/BaseTools/UserManuals/Build_Utility_Man_Page.rtf
===================================================================
--- trunk/BaseTools/UserManuals/Build_Utility_Man_Page.rtf 2011-08-16 05:48:28 UTC (rev 2253)
+++ trunk/BaseTools/UserManuals/Build_Utility_Man_Page.rtf 2011-08-17 01:32:34 UTC (rev 2254)
@@ -1,431 +1,306 @@
-{\rtf1\adeflang1025\ansi\ansicpg936\uc2\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe2052\themelang1033\themelangfe2052\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
-{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}
-{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana{\*\falt Verdana};}
-{\f40\fbidi \fnil\fcharset134\fprq2{\*\panose 00000000000000000000}@\'cb\'ce\'cc\'e5;}{\f43\fbidi \fmodern\fcharset0\fprq1{\*\panose 00000000000000000000}Consolas;}
-{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}
-{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt SimSun};}
-{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f45\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
-{\f46\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f48\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f49\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f50\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\f51\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f52\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f53\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f65\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
-{\f66\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f68\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f69\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f70\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
-{\f71\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f72\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f73\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f177\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}
-{\f385\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f386\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f388\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f389\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}
-{\f392\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f393\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f415\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f416\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
-{\f418\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f419\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f422\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f423\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}
-{\f425\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f426\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f428\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f429\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}
-{\f430\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f431\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f432\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f433\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}
-{\f434\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f435\fbidi \fswiss\fcharset238\fprq2 Verdana CE{\*\falt Verdana};}{\f436\fbidi \fswiss\fcharset204\fprq2 Verdana Cyr{\*\falt Verdana};}
-{\f438\fbidi \fswiss\fcharset161\fprq2 Verdana Greek{\*\falt Verdana};}{\f439\fbidi \fswiss\fcharset162\fprq2 Verdana Tur{\*\falt Verdana};}{\f442\fbidi \fswiss\fcharset186\fprq2 Verdana Baltic{\*\falt Verdana};}
-{\f443\fbidi \fswiss\fcharset163\fprq2 Verdana (Vietnamese){\*\falt Verdana};}{\f447\fbidi \fnil\fcharset0\fprq2 @\'cb\'ce\'cc\'e5 Western;}{\f475\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f476\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}
-{\f478\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f479\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f482\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f483\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}
-{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
-{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31520\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}
-{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
-{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
-{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
-{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
-{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
-{\fdbminor\f31560\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
-{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
-{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
-{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
-\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red8\green96\blue168;}{\*\defchp \loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap
-\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
-\fs24\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\s1\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
-\fs24\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink15 \sqformat heading 1;}{\s2\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025
-\ltrch\fcs0 \fs24\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink16 \sqformat heading 2;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
-\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp2052
-\snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \b\fs32\kerning32\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1
-\ab\ai\af0\afs28 \ltrch\fcs0 \b\i\fs28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink2 \slocked Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \sunhideused \styrsid16534634
-annotation reference;}{\s18\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext18 \slink19 \ssemihidden \sunhideused \styrsid16534634 annotation text;}{\*\cs19 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f39 \sbasedon10 \slink18 \slocked \ssemihidden \styrsid16534634 Comment Text Char;}{
-\s20\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 \b\fs20\lang1033\langfe1033\loch\f39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033
-\sbasedon18 \snext18 \slink21 \ssemihidden \sunhideused \styrsid16534634 annotation subject;}{\*\cs21 \additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\f39 \sbasedon19 \slink20 \slocked \ssemihidden \styrsid16534634 Comment Subject Char;}{
-\s22\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0 \fs16\lang1033\langfe1033\loch\f38\hich\af38\dbch\af31505\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext22 \slink23 \ssemihidden \sunhideused \styrsid16534634 Balloon Text;}{\*\cs23 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 \f38\fs16 \sbasedon10 \slink22 \slocked \ssemihidden \styrsid16534634 Balloon Text Char;}{
-\s24\ql \li0\ri20\sb60\sa60\sl-200\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin20\lin0\itap0 \rtlch\fcs1 \af0\afs16\alang1025 \ltrch\fcs0 \fs16\cf1\lang1033\langfe1033\loch\f39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext24 \spriority0 \styrsid14971029 CellBodyLeft;}{\*\cs25 \additive \b\f2\cf13 \spriority0 \styrsid14971029 CodeCharacter;}{\*\ts26\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh
-\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
-\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp2052
-\sbasedon11 \snext26 \spriority59 \styrsid14971029 Table Grid;}}{\*\rsidtbl \rsid1063253\rsid1211840\rsid1381256\rsid2442797\rsid2974720\rsid4338091\rsid4590013\rsid4999604\rsid5116989\rsid5911148\rsid6164334\rsid6492146\rsid6579891\rsid6827362
-\rsid7278947\rsid7820891\rsid8600807\rsid8996461\rsid9010967\rsid10897639\rsid11224689\rsid11427337\rsid12210198\rsid13245303\rsid13716787\rsid14971029\rsid16533044\rsid16534634}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0
-\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator ydliu}{\creatim\yr2010\mo10\dy6\hr13\min22}{\revtim\yr2011\mo8\dy10\hr9\min38}{\version12}{\edmins148}{\nofpages5}{\nofwords1146}{\nofchars6538}{\nofcharsws7669}{\vern49255}}
-{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
-\ftnbj\aenddoc\revisions\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701
-\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale135\rsidroot1211840 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}
-{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta \dbch .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta \dbch )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang
-{\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
-{\pntxtb \dbch (}{\pntxta \dbch )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \dbch (}{\pntxta \dbch )}}\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar
-\tx360\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0
-\b\fs28\cf17\insrsid11224689 \hich\af39\dbch\af31505\loch\f39 Name
-\par }\pard\plain \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af39\hich\af39\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af39\afs18
-\ltrch\fcs0 \fs18\cf1\insrsid11224689 \hich\af39\dbch\af31505\loch\f39 Build.exe \hich\f39 \endash \loch\f39 }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid1063253 \hich\af39\dbch\af31505\loch\f39 is }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0
-\fs18\cf1\insrsid11224689 \hich\af39\dbch\af31505\loch\f39 the master command that provides }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid1063253 \hich\af39\dbch\af31505\loch\f39 developers}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0
-\fs18\cf1\insrsid11224689 \hich\af39\dbch\af31505\loch\f39 with a single command for selecting various options of a build
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch13\stshfloch39\stshfhich39\stshfbi0\deflang1033\deflangfe2052{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times};}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New{\*\falt Courier New};}
+{\f13\fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt SimSun};}{\f36\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma{\*\falt Times New Roman};}{\f38\froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}
+{\f39\fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri{\*\falt Century Gothic};}{\f41\fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@SimSun;}{\f48\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana{\*\falt Verdana};}
+{\f165\fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}{\f304\froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};}{\f305\froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}
+{\f307\froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}{\f308\froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};}{\f309\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}
+{\f310\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}{\f311\froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}{\f312\froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times};}
+{\f324\fmodern\fcharset238\fprq1 Courier New CE{\*\falt Courier New};}{\f325\fmodern\fcharset204\fprq1 Courier New Cyr{\*\falt Courier New};}{\f327\fmodern\fcharset161\fprq1 Courier New Greek{\*\falt Courier New};}
+{\f328\fmodern\fcharset162\fprq1 Courier New Tur{\*\falt Courier New};}{\f329\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew){\*\falt Courier New};}{\f330\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic){\*\falt Courier New};}
+{\f331\fmodern\fcharset186\fprq1 Courier New Baltic{\*\falt Courier New};}{\f332\fmodern\fcharset163\fprq1 Courier New (Vietnamese){\*\falt Courier New};}{\f436\fnil\fcharset0\fprq2 SimSun Western{\*\falt SimSun};}
+{\f664\fswiss\fcharset238\fprq2 Tahoma CE{\*\falt Times New Roman};}{\f665\fswiss\fcharset204\fprq2 Tahoma Cyr{\*\falt Times New Roman};}{\f667\fswiss\fcharset161\fprq2 Tahoma Greek{\*\falt Times New Roman};}
+{\f668\fswiss\fcharset162\fprq2 Tahoma Tur{\*\falt Times New Roman};}{\f669\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew){\*\falt Times New Roman};}{\f670\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic){\*\falt Times New Roman};}
+{\f671\fswiss\fcharset186\fprq2 Tahoma Baltic{\*\falt Times New Roman};}{\f672\fswiss\fcharset163\fprq2 Tahoma (Vietnamese){\*\falt Times New Roman};}{\f673\fswiss\fcharset222\fprq2 Tahoma (Thai){\*\falt Times New Roman};}
+{\f684\froman\fcharset238\fprq2 Cambria CE;}{\f685\froman\fcharset204\fprq2 Cambria Cyr;}{\f687\froman\fcharset161\fprq2 Cambria Greek;}{\f688\froman\fcharset162\fprq2 Cambria Tur;}{\f691\froman\fcharset186\fprq2 Cambria Baltic;}
+{\f692\froman\fcharset163\fprq2 Cambria (Vietnamese);}{\f694\fswiss\fcharset238\fprq2 Calibri CE{\*\falt Century Gothic};}{\f695\fswiss\fcharset204\fprq2 Calibri Cyr{\*\falt Ce...
[truncated message content] |
|
From: <xf...@us...> - 2011-08-31 06:25:41
|
Revision: 2280
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2280&view=rev
Author: xfzyr
Date: 2011-08-31 06:25:32 +0000 (Wed, 31 Aug 2011)
Log Message:
-----------
Add build target option NOOPT with c compiler optimization flags removed.
Signed-off-by: yzeng15
Reviewed-by: lhauch
Modified Paths:
--------------
trunk/BaseTools/Conf/target.template
trunk/BaseTools/Conf/tools_def.template
trunk/BaseTools/Source/Python/GenFds/GenFds.py
trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
trunk/BaseTools/Source/Python/build/build.py
trunk/BaseTools/UserManuals/Build_Utility_Man_Page.rtf
trunk/BaseTools/UserManuals/GenFds_Utility_Man_Page.rtf
Modified: trunk/BaseTools/Conf/target.template
===================================================================
--- trunk/BaseTools/Conf/target.template 2011-08-31 02:10:47 UTC (rev 2279)
+++ trunk/BaseTools/Conf/target.template 2011-08-31 06:25:32 UTC (rev 2280)
@@ -25,7 +25,7 @@
# files.
ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc
-# TARGET List Optional Zero or more of the following: DEBUG, RELEASE,
+# TARGET List Optional Zero or more of the following: DEBUG, RELEASE, NOOPT
# UserDefined; separated by a space character.
# If the line is missing or no value is specified, all
# valid targets specified in the platform description file
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2011-08-31 02:10:47 UTC (rev 2279)
+++ trunk/BaseTools/Conf/tools_def.template 2011-08-31 06:25:32 UTC (rev 2280)
@@ -551,11 +551,16 @@
*_VS2003_IA32_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
DEBUG_VS2003_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- /Zi /Gm
RELEASE_VS2003_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX-
+NOOPT_VS2003_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /GX- /Zi /Gm /Od
+
DEBUG_VS2003_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi
RELEASE_VS2003_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd
+NOOPT_VS2003_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi
+
*_VS2003_IA32_SLINK_FLAGS = /nologo /LTCG
DEBUG_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4078 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2003_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# EBC definitions
@@ -620,11 +625,16 @@
*_VS2003xASL_IA32_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
DEBUG_VS2003xASL_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX- /Zi /Gm
RELEASE_VS2003xASL_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /GX-
+NOOPT_VS2003xASL_IA32_CC_FLAGS = /nologo /c /WX /W4 /Gs32768 /Gy /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /GX- /Zi /Gm /Od
+
DEBUG_VS2003xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi
RELEASE_VS2003xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd
+NOOPT_VS2003xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi
+
*_VS2003xASL_IA32_SLINK_FLAGS = /nologo /LTCG
DEBUG_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4078 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2003xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# EBC definitions
@@ -697,10 +707,15 @@
*_VS2005_IA32_MAKE_FLAGS = /nologo
DEBUG_VS2005_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
RELEASE_VS2005_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2005_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
DEBUG_VS2005_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
RELEASE_VS2005_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2005_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
DEBUG_VS2005_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2005_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# X64 definitions
@@ -721,10 +736,15 @@
DEBUG_VS2005_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2005_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2005_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
+
DEBUG_VS2005_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
RELEASE_VS2005_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
+NOOPT_VS2005_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+
DEBUG_VS2005_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2005_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# IPF definitions
@@ -744,10 +764,15 @@
DEBUG_VS2005_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi
RELEASE_VS2005_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32
+NOOPT_VS2005_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od
+
DEBUG_VS2005_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
RELEASE_VS2005_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4
+NOOPT_VS2005_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
+
DEBUG_VS2005_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
RELEASE_VS2005_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
+NOOPT_VS2005_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
##################
# EBC definitions
@@ -819,10 +844,15 @@
*_VS2005xASL_IA32_MAKE_FLAGS = /nologo
DEBUG_VS2005xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
RELEASE_VS2005xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2005xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
DEBUG_VS2005xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
RELEASE_VS2005xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2005xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
DEBUG_VS2005xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2005xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# X64 definitions
@@ -843,10 +873,15 @@
DEBUG_VS2005xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2005xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2005xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
+
DEBUG_VS2005xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
RELEASE_VS2005xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
+NOOPT_VS2005xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+
DEBUG_VS2005xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2005xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# IPF definitions
@@ -866,10 +901,15 @@
DEBUG_VS2005xASL_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi
RELEASE_VS2005xASL_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32
+NOOPT_VS2005xASL_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od
+
DEBUG_VS2005xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
RELEASE_VS2005xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4
+NOOPT_VS2005xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
+
DEBUG_VS2005xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
RELEASE_VS2005xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
+NOOPT_VS2005xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
##################
# EBC definitions
@@ -941,10 +981,15 @@
*_VS2005x86_IA32_MAKE_FLAGS = /nologo
DEBUG_VS2005x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
RELEASE_VS2005x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2005x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
DEBUG_VS2005x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
RELEASE_VS2005x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2005x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
DEBUG_VS2005x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2005x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# X64 definitions
@@ -965,10 +1010,15 @@
DEBUG_VS2005x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2005x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2005x86_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
+
DEBUG_VS2005x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
RELEASE_VS2005x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
+NOOPT_VS2005x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+
DEBUG_VS2005x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2005x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# IPF definitions
@@ -988,11 +1038,16 @@
DEBUG_VS2005x86_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi
RELEASE_VS2005x86_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32
+NOOPT_VS2005x86_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od
+
DEBUG_VS2005x86_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
RELEASE_VS2005x86_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4
+NOOPT_VS2005x86_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
+
DEBUG_VS2005x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
RELEASE_VS2005x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
-
+NOOPT_VS2005x86_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
+
##################
# EBC definitions
##################
@@ -1063,10 +1118,15 @@
*_VS2005x86xASL_IA32_MAKE_FLAGS = /nologo
DEBUG_VS2005x86xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
RELEASE_VS2005x86xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2005x86xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
DEBUG_VS2005x86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
RELEASE_VS2005x86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2005x86xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
DEBUG_VS2005x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2005x86xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# X64 definitions
@@ -1087,10 +1147,15 @@
DEBUG_VS2005x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2005x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2005x86xASL_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
+
DEBUG_VS2005x86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
RELEASE_VS2005x86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
+NOOPT_VS2005x86xASL_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+
DEBUG_VS2005x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2005x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2005x86xASL_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# IPF definitions
@@ -1110,10 +1175,15 @@
DEBUG_VS2005x86xASL_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi
RELEASE_VS2005x86xASL_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32
+NOOPT_VS2005x86xASL_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od
+
DEBUG_VS2005x86xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
RELEASE_VS2005x86xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4
+NOOPT_VS2005x86xASL_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
+
DEBUG_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
RELEASE_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
+NOOPT_VS2005x86xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
##################
# EBC definitions
@@ -1187,10 +1257,15 @@
*_VS2008_IA32_MAKE_FLAGS = /nologo
DEBUG_VS2008_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
RELEASE_VS2008_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2008_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
DEBUG_VS2008_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
RELEASE_VS2008_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2008_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
DEBUG_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# X64 definitions
@@ -1211,10 +1286,15 @@
DEBUG_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
RELEASE_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /O1ib2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
+
DEBUG_VS2008_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
RELEASE_VS2008_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
+NOOPT_VS2008_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
+
DEBUG_VS2008_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2008_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2008_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
##################
# IPF definitions
@@ -1234,10 +1314,15 @@
DEBUG_VS2008_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32 /Zi
RELEASE_VS2008_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /Os /GL /FIAutoGen.h /QIPF_fr32
+NOOPT_VS2008_IPF_CC_FLAGS = /nologo /c /WX /GS- /X /W4 /EHs-c- /GR- /Gy /FIAutoGen.h /QIPF_fr32 /Zi /Od
+
DEBUG_VS2008_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
RELEASE_VS2008_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4
+NOOPT_VS2008_IPF_ASM_FLAGS = -N us -X explicit -M ilp64 -N so -W4 -d debug
+
DEBUG_VS2008_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
RELEASE_VS2008_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
+NOOPT_VS2008_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF /IGNORE:4001 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:IA64 /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MAP:$(DEBUG_DIR)/$(BASE_NAME).map /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb /DEBUG
##################
# EBC definitions
@@ -1309,10 +1394,15 @@
*_VS2008xASL_IA32_MAKE_FLAGS = /nologo
DEBUG_VS2008xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
RELEASE_VS2008xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
+NOOPT_VS2008xASL_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
+
DEBUG_VS2008xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
RELEASE_VS2008xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
+NOOPT_VS2008xASL_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
+
DEBUG_VS2008xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
RELEASE_VS2008xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.data=.text /MERGE:.rdata=.text
+NOOPT_VS2008xASL_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /...
[truncated message content] |
|
From: <yi...@us...> - 2011-09-02 00:54:55
|
Revision: 2285
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2285&view=rev
Author: yingke
Date: 2011-09-02 00:54:48 +0000 (Fri, 02 Sep 2011)
Log Message:
-----------
Remove some unused code.
Signed-off-by: yingke
Reviewed-by: gikidy
Reviewed-by: jsu1
Modified Paths:
--------------
trunk/BaseTools/Source/Python/Common/FdfParserLite.py
trunk/BaseTools/Source/Python/Ecc/c.py
trunk/BaseTools/Source/Python/Eot/c.py
trunk/BaseTools/Source/Python/GenFds/FdfParser.py
trunk/BaseTools/gcc/mingw-gcc-build.py
Modified: trunk/BaseTools/Source/Python/Common/FdfParserLite.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/FdfParserLite.py 2011-09-01 09:04:06 UTC (rev 2284)
+++ trunk/BaseTools/Source/Python/Common/FdfParserLite.py 2011-09-02 00:54:48 UTC (rev 2285)
@@ -3647,8 +3647,15 @@
return CycleRefExists
if __name__ == "__main__":
- parser = FdfParser("..\LakeportX64Pkg.fdf")
+ import sys
try:
+ test_file = sys.argv[1]
+ except IndexError, v:
+ print "Usage: %s filename" % sys.argv[0]
+ sys.exit(1)
+
+ parser = FdfParser(test_file)
+ try:
parser.ParseFile()
parser.CycleReferenceCheck()
except Warning, X:
Modified: trunk/BaseTools/Source/Python/Ecc/c.py
===================================================================
--- trunk/BaseTools/Source/Python/Ecc/c.py 2011-09-01 09:04:06 UTC (rev 2284)
+++ trunk/BaseTools/Source/Python/Ecc/c.py 2011-09-02 00:54:48 UTC (rev 2285)
@@ -2539,7 +2539,12 @@
# EdkLogger.Initialize()
# EdkLogger.SetLevel(EdkLogger.QUIET)
# CollectSourceCodeDataIntoDB(sys.argv[1])
- MsgList = CheckFuncHeaderDoxygenComments('C:\\Combo\\R9\\LakeportX64Dev\\FlashDevicePkg\\Library\\SpiFlashChipM25P64\\SpiFlashChipM25P64.c')
+ try:
+ test_file = sys.argv[1]
+ except IndexError, v:
+ print "Usage: %s filename" % sys.argv[0]
+ sys.exit(1)
+ MsgList = CheckFuncHeaderDoxygenComments(test_file)
for Msg in MsgList:
print Msg
print 'Done!'
Modified: trunk/BaseTools/Source/Python/Eot/c.py
===================================================================
--- trunk/BaseTools/Source/Python/Eot/c.py 2011-09-01 09:04:06 UTC (rev 2284)
+++ trunk/BaseTools/Source/Python/Eot/c.py 2011-09-02 00:54:48 UTC (rev 2285)
@@ -31,16 +31,6 @@
ComplexTypeDict = {}
SUDict = {}
-## GetIgnoredDirListPattern() method
-#
-# Get the pattern of ignored direction list
-#
-# @return p: the pattern of ignored direction list
-#
-def GetIgnoredDirListPattern():
- p = re.compile(r'.*[\\/](?:BUILD|INTELRESTRICTEDTOOLS|INTELRESTRICTEDPKG|PCCTS)[\\/].*')
- return p
-
## GetFuncDeclPattern() method
#
# Get the pattern of function declaration
Modified: trunk/BaseTools/Source/Python/GenFds/FdfParser.py
===================================================================
--- trunk/BaseTools/Source/Python/GenFds/FdfParser.py 2011-09-01 09:04:06 UTC (rev 2284)
+++ trunk/BaseTools/Source/Python/GenFds/FdfParser.py 2011-09-02 00:54:48 UTC (rev 2285)
@@ -4060,12 +4060,19 @@
return False
if __name__ == "__main__":
- parser = FdfParser("..\LakeportX64Pkg.fdf")
+ import sys
try:
+ test_file = sys.argv[1]
+ except IndexError, v:
+ print "Usage: %s filename" % sys.argv[0]
+ sys.exit(1)
+
+ parser = FdfParser(test_file)
+ try:
parser.ParseFile()
parser.CycleReferenceCheck()
except Warning, X:
- print str(X)
+ print str(X)
else:
print "Success!"
Modified: trunk/BaseTools/gcc/mingw-gcc-build.py
===================================================================
--- trunk/BaseTools/gcc/mingw-gcc-build.py 2011-09-01 09:04:06 UTC (rev 2284)
+++ trunk/BaseTools/gcc/mingw-gcc-build.py 2011-09-02 00:54:48 UTC (rev 2285)
@@ -286,7 +286,7 @@
self.dots = 0
local_file = os.path.join(self.config.src_dir, fdata['filename'])
url = fdata['url']
- print 'Downloading %s:' % fname, url
+ print 'Downloading %s:' % fname, url
if retries > 0:
print '(retry)',
sys.stdout.flush()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <xf...@us...> - 2011-09-08 05:29:51
|
Revision: 2301
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2301&view=rev
Author: xfzyr
Date: 2011-09-08 05:29:41 +0000 (Thu, 08 Sep 2011)
Log Message:
-----------
Support "#" character used in Compiler options and remove restricted code.
Signed-off-by: yzeng15
Reviewed-by: kgui1, jsu1
Modified Paths:
--------------
trunk/BaseTools/Source/Python/AutoGen/AutoGen.py
trunk/BaseTools/Source/Python/AutoGen/GenC.py
trunk/BaseTools/Source/Python/AutoGen/GenMake.py
trunk/BaseTools/Source/Python/Common/DataType.py
trunk/BaseTools/Source/Python/Common/DecClassObject.py
trunk/BaseTools/Source/Python/Common/DecClassObjectLight.py
trunk/BaseTools/Source/Python/Common/DscClassObject.py
trunk/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py
trunk/BaseTools/Source/Python/Common/InfClassObject.py
trunk/BaseTools/Source/Python/Common/InfClassObjectLight.py
trunk/BaseTools/Source/Python/Common/Misc.py
trunk/BaseTools/Source/Python/Common/String.py
trunk/BaseTools/Source/Python/CommonDataClass/ModuleClass.py
trunk/BaseTools/Source/Python/Eot/Parser.py
trunk/BaseTools/Source/Python/Trim/Trim.py
trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py
trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
trunk/BaseTools/Source/Python/build/build.py
trunk/BaseTools/Source/Python/msa2inf/LoadMsa.py
trunk/BaseTools/UserManuals/Trim_Utility_Man_Page.rtf
Modified: trunk/BaseTools/Source/Python/AutoGen/AutoGen.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -1196,7 +1196,7 @@
if LibraryClass.startswith("NULL"):
Module.LibraryClasses[LibraryClass] = PlatformModule.LibraryClasses[LibraryClass]
- # R9 module
+ # EdkII module
LibraryConsumerList = [Module]
Constructor = []
ConsumedByList = sdict()
@@ -1445,7 +1445,7 @@
## Resolve library names to library modules
#
- # (for R8.x modules)
+ # (for Edk.x modules)
#
# @param Module The module from which the library names will be resolved
#
@@ -1456,7 +1456,7 @@
EdkLogger.verbose("Library instances of module [%s] [%s]:" % (str(Module), self.Arch))
LibraryConsumerList = [Module]
- # "CompilerStub" is a must for R8 modules
+ # "CompilerStub" is a must for Edk modules
if Module.Libraries:
Module.Libraries.append("CompilerStub")
LibraryList = []
@@ -1858,7 +1858,7 @@
def _GetModuleType(self):
return self.Module.ModuleType
- ## Return the component type (for R8.x style of module)
+ ## Return the component type (for Edk.x style of module)
def _GetComponentType(self):
return self.Module.ComponentType
@@ -2354,11 +2354,11 @@
for Inc in self.Module.Includes:
if Inc not in self._IncludePathList:
self._IncludePathList.append(Inc)
- # for r8 modules
+ # for Edk modules
Inc = path.join(Inc, self.Arch.capitalize())
if os.path.exists(Inc) and Inc not in self._IncludePathList:
self._IncludePathList.append(Inc)
- # r8 module needs to put DEBUG_DIR at the end of search path and not to use SOURCE_DIR all the time
+ # Edk module needs to put DEBUG_DIR at the end of search path and not to use SOURCE_DIR all the time
self._IncludePathList.append(self.DebugDir)
else:
self._IncludePathList.append(self.MetaFile.Dir)
@@ -2518,7 +2518,7 @@
for File in self.AutoGenFileList:
if GenC.Generate(File.Path, self.AutoGenFileList[File], File.IsBinary):
- #Ignore R8 AutoGen.c
+ #Ignore Edk AutoGen.c
if self.AutoGenVersion < 0x00010005 and File.Name == 'AutoGen.c':
continue
Modified: trunk/BaseTools/Source/Python/AutoGen/GenC.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/GenC.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/AutoGen/GenC.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -2026,7 +2026,7 @@
CreateFooterCode(Info, AutoGenC, AutoGenH)
- # no generation of AutoGen.c for R8 modules without unicode file
+ # no generation of AutoGen.c for Edk modules without unicode file
if Info.AutoGenVersion < 0x00010005 and len(Info.UnicodeFileList) == 0:
AutoGenC.String = ''
Modified: trunk/BaseTools/Source/Python/AutoGen/GenMake.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/GenMake.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/AutoGen/GenMake.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -31,7 +31,7 @@
## Regular expression for matching macro used in header file inclusion
gMacroPattern = re.compile("([_A-Z][_A-Z0-9]*)[ \t]*\((.+)\)", re.UNICODE)
-## pattern for include style in R8.x code
+## pattern for include style in Edk.x code
gProtocolDefinition = "Protocol/%(HeaderKey)s/%(HeaderKey)s.h"
gGuidDefinition = "Guid/%(HeaderKey)s/%(HeaderKey)s.h"
gArchProtocolDefinition = "ArchProtocol/%(HeaderKey)s/%(HeaderKey)s.h"
@@ -462,13 +462,13 @@
ArchEntryPoint = ModuleEntryPoint
if self._AutoGenObject.Arch == "EBC":
- # EBC compiler always use "EfiStart" as entry point. Only applies to R9 modules
+ # EBC compiler always use "EfiStart" as entry point. Only applies to EdkII modules
ImageEntryPoint = "EfiStart"
elif self._AutoGenObject.AutoGenVersion < 0x00010005:
- # R8 modules use entry point specified in INF file
+ # Edk modules use entry point specified in INF file
ImageEntryPoint = ModuleEntryPoint
else:
- # R9 modules always use "_ModuleEntryPoint" as entry point
+ # EdkII modules always use "_ModuleEntryPoint" as entry point
ImageEntryPoint = "_ModuleEntryPoint"
# tools definitions
@@ -535,7 +535,7 @@
False
)
- # R8 modules need <BaseName>StrDefs.h for string ID
+ # Edk modules need <BaseName>StrDefs.h for string ID
#if self._AutoGenObject.AutoGenVersion < 0x00010005 and len(self._AutoGenObject.UnicodeFileList) > 0:
# BcTargetList = ['strdefs']
#else:
Modified: trunk/BaseTools/Source/Python/Common/DataType.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/DataType.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Common/DataType.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -14,9 +14,9 @@
# Common Definitions
#
TAB_SPLIT = '.'
-TAB_COMMENT_R8_START = '/*'
-TAB_COMMENT_R8_END = '*/'
-TAB_COMMENT_R8_SPLIT = '//'
+TAB_COMMENT_EDK_START = '/*'
+TAB_COMMENT_EDK_END = '*/'
+TAB_COMMENT_EDK_SPLIT = '//'
TAB_COMMENT_SPLIT = '#'
TAB_EQUAL_SPLIT = '='
TAB_VALUE_SPLIT = '|'
@@ -309,10 +309,10 @@
TAB_INF_DEFINES_FV_EXT = 'FV_EXT'
TAB_INF_DEFINES_SOURCE_FV = 'SOURCE_FV'
TAB_INF_DEFINES_VERSION_NUMBER = 'VERSION_NUMBER'
-TAB_INF_DEFINES_VERSION = 'VERSION' # for R8 inf, the same as VERSION_NUMBER
+TAB_INF_DEFINES_VERSION = 'VERSION' # for Edk inf, the same as VERSION_NUMBER
TAB_INF_DEFINES_VERSION_STRING = 'VERSION_STRING'
TAB_INF_DEFINES_PCD_IS_DRIVER = 'PCD_IS_DRIVER'
-TAB_INF_DEFINES_TIANO_R8_FLASHMAP_H = 'TIANO_R8_FLASHMAP_H'
+TAB_INF_DEFINES_TIANO_EDK_FLASHMAP_H = 'TIANO_EDK_FLASHMAP_H'
TAB_INF_DEFINES_ENTRY_POINT = 'ENTRY_POINT'
TAB_INF_DEFINES_UNLOAD_IMAGE = 'UNLOAD_IMAGE'
TAB_INF_DEFINES_CONSTRUCTOR = 'CONSTRUCTOR'
Modified: trunk/BaseTools/Source/Python/Common/DecClassObject.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/DecClassObject.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Common/DecClassObject.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -162,11 +162,11 @@
#
# Remove comment block
#
- if Line.find(TAB_COMMENT_R8_START) > -1:
- ReservedLine = GetSplitValueList(Line, TAB_COMMENT_R8_START, 1)[0]
+ if Line.find(TAB_COMMENT_EDK_START) > -1:
+ ReservedLine = GetSplitValueList(Line, TAB_COMMENT_EDK_START, 1)[0]
IsFindBlockComment = True
- if Line.find(TAB_COMMENT_R8_END) > -1:
- Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_R8_END, 1)[1]
+ if Line.find(TAB_COMMENT_EDK_END) > -1:
+ Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_EDK_END, 1)[1]
ReservedLine = ''
IsFindBlockComment = False
if IsFindBlockComment:
Modified: trunk/BaseTools/Source/Python/Common/DecClassObjectLight.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/DecClassObjectLight.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Common/DecClassObjectLight.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -135,8 +135,8 @@
for Line in open(Filename, 'r'):
LineNo = LineNo + 1
# Remove comment block
- if Line.find(TAB_COMMENT_R8_START) > -1:
- ReservedLine = GetSplitValueList(Line, TAB_COMMENT_R8_START, 1)[0]
+ if Line.find(TAB_COMMENT_EDK_START) > -1:
+ ReservedLine = GetSplitValueList(Line, TAB_COMMENT_EDK_START, 1)[0]
if ReservedLine.strip().startswith(TAB_COMMENT_SPLIT):
Comment = Comment + Line.strip() + '\n'
ReservedLine = ''
@@ -145,9 +145,9 @@
IsFindBlockComment = True
if not ReservedLine:
continue
- if Line.find(TAB_COMMENT_R8_END) > -1:
- Comment = Comment + Line[:Line.find(TAB_COMMENT_R8_END) + len(TAB_COMMENT_R8_END)] + '\n'
- Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_R8_END, 1)[1]
+ if Line.find(TAB_COMMENT_EDK_END) > -1:
+ Comment = Comment + Line[:Line.find(TAB_COMMENT_EDK_END) + len(TAB_COMMENT_EDK_END)] + '\n'
+ Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_EDK_END, 1)[1]
ReservedLine = ''
IsFindBlockComment = False
if IsFindBlockComment:
@@ -312,7 +312,7 @@
self.GenPackageHeader(ContainerFile)
# Generate Includes
- # Only for R8
+ # Only for Edk
self.GenIncludes(ContainerFile)
# Generate Guids
Modified: trunk/BaseTools/Source/Python/Common/DscClassObject.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/DscClassObject.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Common/DscClassObject.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -1045,11 +1045,11 @@
#
# Remove comment block
#
- if Line.find(TAB_COMMENT_R8_START) > -1:
- ReservedLine = GetSplitValueList(Line, TAB_COMMENT_R8_START, 1)[0]
+ if Line.find(TAB_COMMENT_EDK_START) > -1:
+ ReservedLine = GetSplitValueList(Line, TAB_COMMENT_EDK_START, 1)[0]
IsFindBlockComment = True
- if Line.find(TAB_COMMENT_R8_END) > -1:
- Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_R8_END, 1)[1]
+ if Line.find(TAB_COMMENT_EDK_END) > -1:
+ Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_EDK_END, 1)[1]
ReservedLine = ''
IsFindBlockComment = False
if IsFindBlockComment:
Modified: trunk/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -929,13 +929,13 @@
ModuleDatabase = self.Build[Arch].ModuleDatabase
ModuleType = Module.ModuleType
- # check R8 module
+ # check Edk module
if Module.AutoGenVersion < 0x00010005:
EdkLogger.verbose("")
EdkLogger.verbose("Library instances of module [%s] [%s]:" % (str(Module), Arch))
LibraryConsumerList = [Module]
- # "CompilerStub" is a must for R8 modules
+ # "CompilerStub" is a must for Edk modules
Module.Libraries.append("CompilerStub")
while len(LibraryConsumerList) > 0:
M = LibraryConsumerList.pop()
@@ -952,7 +952,7 @@
EdkLogger.verbose("\t" + LibraryName + " : " + LibraryFile)
return
- # R9 module
+ # EdkII module
LibraryConsumerList = [Module]
Constructor = []
ConsumedByList = sdict()
Modified: trunk/BaseTools/Source/Python/Common/InfClassObject.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/InfClassObject.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Common/InfClassObject.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -104,7 +104,7 @@
TAB_INF_DEFINES_VERSION_STRING : "VersionString",
TAB_INF_DEFINES_VERSION : "Version",
TAB_INF_DEFINES_PCD_IS_DRIVER : "PcdIsDriver",
- TAB_INF_DEFINES_TIANO_R8_FLASHMAP_H : "TianoR8FlashMap_h",
+ TAB_INF_DEFINES_TIANO_EDK_FLASHMAP_H : "TianoEdkFlashMap_h",
TAB_INF_DEFINES_SHADOW : "Shadow",
# TAB_INF_DEFINES_LIBRARY_CLASS : "LibraryClass",
# TAB_INF_DEFINES_ENTRY_POINT : "ExternImages",
@@ -352,11 +352,11 @@
#
# Remove comment block
#
- if Line.find(TAB_COMMENT_R8_START) > -1:
- ReservedLine = GetSplitValueList(Line, TAB_COMMENT_R8_START, 1)[0]
+ if Line.find(TAB_COMMENT_EDK_START) > -1:
+ ReservedLine = GetSplitValueList(Line, TAB_COMMENT_EDK_START, 1)[0]
IsFindBlockComment = True
- if Line.find(TAB_COMMENT_R8_END) > -1:
- Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_R8_END, 1)[1]
+ if Line.find(TAB_COMMENT_EDK_END) > -1:
+ Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_EDK_END, 1)[1]
ReservedLine = ''
IsFindBlockComment = False
if IsFindBlockComment:
@@ -465,7 +465,7 @@
print 'FvExt =', M.Header[Arch].FvExt
print 'SourceFv =', M.Header[Arch].SourceFv
print 'PcdIsDriver =', M.Header[Arch].PcdIsDriver
- print 'TianoR8FlashMap_h =', M.Header[Arch].TianoR8FlashMap_h
+ print 'TianoEdkFlashMap_h =', M.Header[Arch].TianoEdkFlashMap_h
print 'Shadow =', M.Header[Arch].Shadow
print 'LibraryClass =', M.Header[Arch].LibraryClass
for Item in M.Header[Arch].LibraryClass:
@@ -613,7 +613,7 @@
# Get version of INF
#
if ModuleHeader.InfVersion != "":
- # R9 inf
+ # EdkII inf
VersionNumber = ModuleHeader.VersionNumber
VersionString = ModuleHeader.VersionString
if len(VersionNumber) > 0 and len(VersionString) == 0:
@@ -624,12 +624,12 @@
EdkLogger.warn(2001, 'INF file %s defines both VERSION_NUMBER and VERSION_STRING, using VERSION_STRING' % self.Identification.FileFullPath)
ModuleHeader.Version = VersionString
else:
- # R8 inf
+ # Edk inf
ModuleHeader.InfVersion = "0x00010000"
if ModuleHeader.ComponentType in gComponentType2ModuleType:
ModuleHeader.ModuleType = gComponentType2ModuleType[ModuleHeader.ComponentType]
elif ModuleHeader.ComponentType != '':
- EdkLogger.error("Parser", PARSER_ERROR, "Unsupported R8 component type [%s]" % ModuleHeader.ComponentType, ExtraData=File, RaiseError = EdkLogger.IsRaiseError)
+ EdkLogger.error("Parser", PARSER_ERROR, "Unsupported Edk component type [%s]" % ModuleHeader.ComponentType, ExtraData=File, RaiseError = EdkLogger.IsRaiseError)
self.Module.Header[Arch] = ModuleHeader
@@ -841,7 +841,7 @@
Nmake.SupArchList = Nmakes[Key]
self.Module.Nmake.append(Nmake)
- # convert R8 format to R9 format
+ # convert Edk format to EdkII format
if Nmake.Name == "IMAGE_ENTRY_POINT":
Image = ModuleExternImageClass()
Image.ModuleEntryPoint = Nmake.Value
Modified: trunk/BaseTools/Source/Python/Common/InfClassObjectLight.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/InfClassObjectLight.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Common/InfClassObjectLight.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -89,7 +89,7 @@
TAB_INF_DEFINES_VERSION_STRING : "VersionString",
TAB_INF_DEFINES_VERSION : "Version",
TAB_INF_DEFINES_PCD_IS_DRIVER : "PcdIsDriver",
- TAB_INF_DEFINES_TIANO_R8_FLASHMAP_H : "TianoR8FlashMap_h",
+ TAB_INF_DEFINES_TIANO_EDK_FLASHMAP_H : "TianoEdkFlashMap_h",
TAB_INF_DEFINES_SHADOW : "Shadow",
}
@@ -411,8 +411,8 @@
for Line in open(Filename, 'r'):
LineNo = LineNo + 1
# Remove comment block
- if Line.find(TAB_COMMENT_R8_START) > -1:
- ReservedLine = GetSplitValueList(Line, TAB_COMMENT_R8_START, 1)[0]
+ if Line.find(TAB_COMMENT_EDK_START) > -1:
+ ReservedLine = GetSplitValueList(Line, TAB_COMMENT_EDK_START, 1)[0]
if ReservedLine.strip().startswith(TAB_COMMENT_SPLIT):
Comment = Comment + Line.strip() + '\n'
ReservedLine = ''
@@ -421,9 +421,9 @@
IsFindBlockComment = True
if not ReservedLine:
continue
- if Line.find(TAB_COMMENT_R8_END) > -1:
- Comment = Comment + Line[:Line.find(TAB_COMMENT_R8_END) + len(TAB_COMMENT_R8_END)] + '\n'
- Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_R8_END, 1)[1]
+ if Line.find(TAB_COMMENT_EDK_END) > -1:
+ Comment = Comment + Line[:Line.find(TAB_COMMENT_EDK_END) + len(TAB_COMMENT_EDK_END)] + '\n'
+ Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_EDK_END, 1)[1]
ReservedLine = ''
IsFindBlockComment = False
if IsFindBlockComment:
Modified: trunk/BaseTools/Source/Python/Common/Misc.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/Misc.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Common/Misc.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -468,7 +468,7 @@
if FileExt.lower() != Ext.lower():
return False, File
- # Replace the R8 macros
+ # Replace the Edk macros
if OverrideDir != '' and OverrideDir != None:
if OverrideDir.find('$(EFI_SOURCE)') > -1:
OverrideDir = OverrideDir.replace('$(EFI_SOURCE)', EfiSource)
@@ -480,7 +480,7 @@
Dir = os.getcwd()
Dir = Dir[len(Workspace)+1:]
- # First check if File has R8 definition itself
+ # First check if File has Edk definition itself
if File.find('$(EFI_SOURCE)') > -1 or File.find('$(EDK_SOURCE)') > -1:
NewFile = File.replace('$(EFI_SOURCE)', EfiSource)
NewFile = NewFile.replace('$(EDK_SOURCE)', EdkSource)
@@ -506,7 +506,7 @@
#
#
def ValidFile3(AllFiles, File, Workspace='', EfiSource='', EdkSource='', Dir='.', OverrideDir=''):
- # Replace the R8 macros
+ # Replace the Edk macros
if OverrideDir != '' and OverrideDir != None:
if OverrideDir.find('$(EFI_SOURCE)') > -1:
OverrideDir = OverrideDir.replace('$(EFI_SOURCE)', EfiSource)
@@ -524,7 +524,7 @@
NewRelaPath = RelaPath
while(True):
- # First check if File has R8 definition itself
+ # First check if File has Edk definition itself
if File.find('$(EFI_SOURCE)') > -1 or File.find('$(EDK_SOURCE)') > -1:
File = File.replace('$(EFI_SOURCE)', EfiSource)
File = File.replace('$(EDK_SOURCE)', EdkSource)
Modified: trunk/BaseTools/Source/Python/Common/String.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/String.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Common/String.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -20,7 +20,7 @@
import string
import EdkLogger as EdkLogger
-from GlobalData import *
+import GlobalData
from BuildToolError import *
from CommonDataClass.Exceptions import *
@@ -244,7 +244,7 @@
def ReplaceMacro(String, MacroDefinitions={}, SelfReplacement=False, RaiseError=False):
LastString = String
while String and MacroDefinitions:
- MacroUsed = gMacroRefPattern.findall(String)
+ MacroUsed = GlobalData.gMacroRefPattern.findall(String)
# no macro found in String, stop replacing
if len(MacroUsed) == 0:
break
@@ -310,21 +310,40 @@
#
Line = Line.strip();
#
- # Replace R8's comment character
+ # Replace Edk's comment character
#
if AllowCppStyleComment:
- Line = Line.replace(DataType.TAB_COMMENT_R8_SPLIT, CommentCharacter)
+ Line = Line.replace(DataType.TAB_COMMENT_EDK_SPLIT, CommentCharacter)
#
# remove comments, but we should escape comment character in string
#
InString = False
+ CommentInString = False
for Index in range(0, len(Line)):
if Line[Index] == '"':
InString = not InString
- elif Line[Index] == CommentCharacter and not InString:
+ elif Line[Index] == CommentCharacter and InString :
+ CommentInString = True
+ elif Line[Index] == CommentCharacter and not InString :
Line = Line[0: Index]
break
-
+
+ if CommentInString:
+ Line = Line.replace('"', '')
+ ChIndex = Line.find('#')
+ while ChIndex >= 0:
+ if GlobalData.gIsWindows:
+ if ChIndex == 0 or Line[ChIndex-1] != '^':
+ Line = Line[0:ChIndex] + '^' + Line[ChIndex:]
+ ChIndex = Line.find('#', ChIndex + 2)
+ else:
+ ChIndex = Line.find('#', ChIndex + 1)
+ else:
+ if ChIndex == 0 or Line[ChIndex-1] != '\\':
+ Line = Line[0:ChIndex] + '\\' + Line[ChIndex:]
+ ChIndex = Line.find('#', ChIndex + 2)
+ else:
+ ChIndex = Line.find('#', ChIndex + 1)
#
# remove whitespace again
#
@@ -348,10 +367,10 @@
#
Line = Line.strip();
#
- # Replace R8's comment character
+ # Replace Edk's comment character
#
if AllowCppStyleComment:
- Line = Line.replace(DataType.TAB_COMMENT_R8_SPLIT, CommentCharacter)
+ Line = Line.replace(DataType.TAB_COMMENT_EDK_SPLIT, CommentCharacter)
#
# separate comments and statements
#
@@ -722,11 +741,11 @@
#
# Remove comment block
#
- if Line.find(DataType.TAB_COMMENT_R8_START) > -1:
- ReservedLine = GetSplitValueList(Line, DataType.TAB_COMMENT_R8_START, 1)[0]
+ if Line.find(DataType.TAB_COMMENT_EDK_START) > -1:
+ ReservedLine = GetSplitValueList(Line, DataType.TAB_COMMENT_EDK_START, 1)[0]
IsFindBlockComment = True
- if Line.find(DataType.TAB_COMMENT_R8_END) > -1:
- Line = ReservedLine + GetSplitValueList(Line, DataType.TAB_COMMENT_R8_END, 1)[1]
+ if Line.find(DataType.TAB_COMMENT_EDK_END) > -1:
+ Line = ReservedLine + GetSplitValueList(Line, DataType.TAB_COMMENT_EDK_END, 1)[1]
ReservedLine = ''
IsFindBlockComment = False
if IsFindBlockComment:
Modified: trunk/BaseTools/Source/Python/CommonDataClass/ModuleClass.py
===================================================================
--- trunk/BaseTools/Source/Python/CommonDataClass/ModuleClass.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/CommonDataClass/ModuleClass.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -32,7 +32,7 @@
# [ ClonedRecordClass, ... ]
# @var PcdIsDriver: To store value for PcdIsDriver, selection scope is in below list
# PEI_PCD_DRIVER | DXE_PCD_DRIVER
-# @var TianoR8FlashMap_h: To store value for TianoR8FlashMap_h
+# @var TianoEdkFlashMap_h: To store value for TianoEdkFlashMap_h
# @var InfVersion: To store value for InfVersion
# @var UefiSpecificationVersion: To store value for UefiSpecificationVersion
# @var EdkReleaseVersion: To store value for EdkReleaseVersion
@@ -63,7 +63,7 @@
self.OutputFileBasename = ''
self.ClonedFrom = []
self.PcdIsDriver = ''
- self.TianoR8FlashMap_h = False
+ self.TianoEdkFlashMap_h = False
self.InfVersion = ''
self.PiSpecificationVersion = ''
self.UefiSpecificationVersion = ''
Modified: trunk/BaseTools/Source/Python/Eot/Parser.py
===================================================================
--- trunk/BaseTools/Source/Python/Eot/Parser.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Eot/Parser.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -49,11 +49,11 @@
for Line in open(Filename, 'r'):
Line = Line.strip()
# Remove comment block
- if Line.find(TAB_COMMENT_R8_START) > -1:
- ReservedLine = GetSplitValueList(Line, TAB_COMMENT_R8_START, 1)[0]
+ if Line.find(TAB_COMMENT_EDK_START) > -1:
+ ReservedLine = GetSplitValueList(Line, TAB_COMMENT_EDK_START, 1)[0]
IsFindBlockComment = True
- if Line.find(TAB_COMMENT_R8_END) > -1:
- Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_R8_END, 1)[1]
+ if Line.find(TAB_COMMENT_EDK_END) > -1:
+ Line = ReservedLine + GetSplitValueList(Line, TAB_COMMENT_EDK_END, 1)[1]
ReservedLine = ''
IsFindBlockComment = False
if IsFindBlockComment:
Modified: trunk/BaseTools/Source/Python/Trim/Trim.py
===================================================================
--- trunk/BaseTools/Source/Python/Trim/Trim.py 2011-09-08 03:27:20 UTC (rev 2300)
+++ trunk/BaseTools/Source/Python/Trim/Trim.py 2011-09-08 05:29:41 UTC (rev 2301)
@@ -390,7 +390,7 @@
# @param Source File or directory to be trimmed
# @param Target File or directory to store the trimmed content
#
-def TrimR8Sources(Source, Target):
+def TrimEdkSources(Source, Target):
if os.path.isdir(Source):
for CurrentDir, Dirs, Files in os.walk(Source):
if '.svn' in Dirs:
@@ -402,17 +402,17 @@
Dummy, Ext = os.path.splitext(FileName)
if Ext.upper() not in ['.C', '.H']: continue
if Target == None or Target == '':
- TrimR8SourceCode(
+ TrimEdkSourceCode(
os.path.join(CurrentDir, FileName),
os.path.join(CurrentDir, FileName)
)
else:
- TrimR8SourceCode(
+ TrimEdkSourceCode(
os.path.join(CurrentDir, FileName),
os.path.join(Target, CurrentDir[len(Source)+1:], FileName)
)
else:
- TrimR8SourceCode(Source, Target)
+ TrimEdkSourceCode(Source, Target)
## Trim one EDK source code file
#
@@ -445,7 +445,7 @@
# @param Source File to be trimmed
# @param Target File to store the trimmed content
#
-def TrimR8SourceCode(Source, Target):
+def TrimEdkSourceCode(Source, Target):
EdkLogger.verbose("\t%s -> %s" % (Source, Target))
CreateDirectory(os.path.dirname(Target))
@@ -491,8 +491,8 @@
help="The input file is preprocessed VFR file"),
make_option("-a", "--asl-file", dest="FileType", const="Asl", action="store_const",
help="The input file is ASL file"),
- make_option("-8", "--r8-source-code", dest="FileType", const="R8SourceCode", action="store_const",
- help="The input file is source code for R8 to be trimmed for ECP"),
+ make_option("-8", "--Edk-source-code", dest="FileType", const="EdkSourceCode", action="store_const",
+ help="The input file is source code for Edk to be trimmed for ECP"),
make_option("-c", "--convert-hex", dest="ConvertHex", action="store_true",
help="Convert standard hex format (0xabcd) to MASM format (abcdh)"),
@@ -560,8 +560,8 @@
if CommandOptions.OutputFile == None:
CommandOptions.OutputFile = os.path.splitext(InputFile)[0] + '.iii'
TrimAslFile(InputFile, CommandOptions.OutputFile, CommandOptions.IncludePathFile)
- elif CommandOptions.FileType == "R8SourceCode":
- TrimR8Sources(In...
[truncated message content] |
|
From: <lg...@us...> - 2011-10-27 04:08:55
|
Revision: 2384
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2384&view=rev
Author: lgao4
Date: 2011-10-27 04:08:48 +0000 (Thu, 27 Oct 2011)
Log Message:
-----------
Add Binary version tools into BaseTools Trunk.
Signed-off-by: lgao4
Reviewed-by: gikidy
Modified Paths:
--------------
trunk/BaseTools/ReadMe.txt
trunk/BaseTools/Source/C/Include/Common/BuildVersion.h
trunk/BaseTools/Source/Python/Common/BuildVersion.py
Added Paths:
-----------
trunk/BaseTools/Bin/Darwin-i386/
trunk/BaseTools/Bin/Darwin-i386/Arm/
trunk/BaseTools/Bin/Darwin-i386/Arm/DEBUG_XCODE31/
trunk/BaseTools/Bin/Darwin-i386/Arm/DEBUG_XCODE31/CompilerIntrinsicsLib.lib
trunk/BaseTools/Bin/Darwin-i386/Arm/DEBUG_XCODE32/
trunk/BaseTools/Bin/Darwin-i386/Arm/DEBUG_XCODE32/CompilerIntrinsicsLib.lib
trunk/BaseTools/Bin/Darwin-i386/Arm/RELEASE_XCODE31/
trunk/BaseTools/Bin/Darwin-i386/Arm/RELEASE_XCODE31/CompilerIntrinsicsLib.lib
trunk/BaseTools/Bin/Darwin-i386/Arm/RELEASE_XCODE32/
trunk/BaseTools/Bin/Darwin-i386/Arm/RELEASE_XCODE32/CompilerIntrinsicsLib.lib
trunk/BaseTools/Bin/Win32/
trunk/BaseTools/Bin/Win32/Arm/
trunk/BaseTools/Bin/Win32/Arm/DEBUG_RVCT31/
trunk/BaseTools/Bin/Win32/Arm/DEBUG_RVCT31/CompilerIntrinsicsLib.lib
trunk/BaseTools/Bin/Win32/Arm/RELEASE_RVCT31/
trunk/BaseTools/Bin/Win32/Arm/RELEASE_RVCT31/CompilerIntrinsicsLib.lib
trunk/BaseTools/Bin/Win32/BPDG.exe
trunk/BaseTools/Bin/Win32/BootSectImage.exe
trunk/BaseTools/Bin/Win32/Common.PyUtility.pyd
trunk/BaseTools/Bin/Win32/EfiCompressor.pyd
trunk/BaseTools/Bin/Win32/EfiLdrImage.exe
trunk/BaseTools/Bin/Win32/EfiRom.exe
trunk/BaseTools/Bin/Win32/Eot.EfiCompressor.pyd
trunk/BaseTools/Bin/Win32/Eot.LzmaCompressor.pyd
trunk/BaseTools/Bin/Win32/Fpd2Dsc.exe
trunk/BaseTools/Bin/Win32/GenBootSector.exe
trunk/BaseTools/Bin/Win32/GenCrc32.exe
trunk/BaseTools/Bin/Win32/GenDepex.exe
trunk/BaseTools/Bin/Win32/GenFds.exe
trunk/BaseTools/Bin/Win32/GenFfs.exe
trunk/BaseTools/Bin/Win32/GenFv.exe
trunk/BaseTools/Bin/Win32/GenFw.exe
trunk/BaseTools/Bin/Win32/GenPage.exe
trunk/BaseTools/Bin/Win32/GenPatchPcdTable.exe
trunk/BaseTools/Bin/Win32/GenSec.exe
trunk/BaseTools/Bin/Win32/GenVtf.exe
trunk/BaseTools/Bin/Win32/ImportTool.bat
trunk/BaseTools/Bin/Win32/LzmaCompress.exe
trunk/BaseTools/Bin/Win32/MigrationMsa2Inf.exe
trunk/BaseTools/Bin/Win32/PatchPcdValue.exe
trunk/BaseTools/Bin/Win32/Spd2Dec.exe
trunk/BaseTools/Bin/Win32/Split.exe
trunk/BaseTools/Bin/Win32/TargetTool.exe
trunk/BaseTools/Bin/Win32/TianoCompress.exe
trunk/BaseTools/Bin/Win32/Trim.exe
trunk/BaseTools/Bin/Win32/UPT.exe
trunk/BaseTools/Bin/Win32/VfrCompile.exe
trunk/BaseTools/Bin/Win32/VolInfo.exe
trunk/BaseTools/Bin/Win32/_ctypes.pyd
trunk/BaseTools/Bin/Win32/_hashlib.pyd
trunk/BaseTools/Bin/Win32/_socket.pyd
trunk/BaseTools/Bin/Win32/_sqlite3.pyd
trunk/BaseTools/Bin/Win32/_ssl.pyd
trunk/BaseTools/Bin/Win32/build.exe
trunk/BaseTools/Bin/Win32/msvcr71.dll
trunk/BaseTools/Bin/Win32/pyexpat.pyd
trunk/BaseTools/Bin/Win32/python25.dll
trunk/BaseTools/Bin/Win32/select.pyd
trunk/BaseTools/Bin/Win32/sqlite3.dll
Added: trunk/BaseTools/Bin/Darwin-i386/Arm/DEBUG_XCODE31/CompilerIntrinsicsLib.lib
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Darwin-i386/Arm/DEBUG_XCODE31/CompilerIntrinsicsLib.lib
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Darwin-i386/Arm/DEBUG_XCODE32/CompilerIntrinsicsLib.lib
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Darwin-i386/Arm/DEBUG_XCODE32/CompilerIntrinsicsLib.lib
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Darwin-i386/Arm/RELEASE_XCODE31/CompilerIntrinsicsLib.lib
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Darwin-i386/Arm/RELEASE_XCODE31/CompilerIntrinsicsLib.lib
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Darwin-i386/Arm/RELEASE_XCODE32/CompilerIntrinsicsLib.lib
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Darwin-i386/Arm/RELEASE_XCODE32/CompilerIntrinsicsLib.lib
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/Arm/DEBUG_RVCT31/CompilerIntrinsicsLib.lib
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/Arm/DEBUG_RVCT31/CompilerIntrinsicsLib.lib
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/Arm/RELEASE_RVCT31/CompilerIntrinsicsLib.lib
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/Arm/RELEASE_RVCT31/CompilerIntrinsicsLib.lib
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/BPDG.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/BPDG.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/BootSectImage.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/BootSectImage.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/Common.PyUtility.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/Common.PyUtility.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/EfiCompressor.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/EfiCompressor.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/EfiLdrImage.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/EfiLdrImage.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/EfiRom.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/EfiRom.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/Eot.EfiCompressor.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/Eot.EfiCompressor.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/Eot.LzmaCompressor.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/Eot.LzmaCompressor.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/Fpd2Dsc.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/Fpd2Dsc.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenBootSector.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenBootSector.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenCrc32.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenCrc32.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenDepex.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenDepex.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenFds.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenFds.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenFfs.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenFfs.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenFv.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenFv.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenFw.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenFw.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenPage.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenPage.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenPatchPcdTable.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenPatchPcdTable.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenSec.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenSec.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/GenVtf.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/GenVtf.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/ImportTool.bat
===================================================================
--- trunk/BaseTools/Bin/Win32/ImportTool.bat (rev 0)
+++ trunk/BaseTools/Bin/Win32/ImportTool.bat 2011-10-27 04:08:48 UTC (rev 2384)
@@ -0,0 +1,53 @@
+@REM
+@REM Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
+@REM This program and the accompanying materials
+@REM are licensed and made available under the terms and conditions of the BSD License
+@REM which accompanies this distribution. The full text of the license may be found at
+@REM http://opensource.org/licenses/bsd-license.php
+@REM
+@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+@REM
+
+@echo off
+@if /I "%1"=="-h" goto Usage
+@if /I "%1"=="-help" goto Usage
+@if /I "%1"=="--help" goto Usage
+@if /I "%1"=="/h" goto Usage
+@if /I "%1"=="/help" goto Usage
+@if /I "%1"=="/?" goto Usage
+
+set IMPORT_TOOL=%~dp0Trim.exe
+if NOT exist %IMPORT_TOOL% (
+ echo.
+ echo !!! Trim.exe was not found. Please make sure that it is in the same directory as this script!
+ echo.
+ goto End
+)
+
+if '%*'=='' (
+ set FILE_LIST=*.c
+) else (
+ set FILE_LIST=%*
+)
+
+for /r %%i in (%FILE_LIST%) do (
+ echo Converting ... %%i
+ %IMPORT_TOOL% -8 -o %%i %%i
+)
+goto End
+
+:Usage
+ echo.
+ echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [files]"
+ echo.
+ echo files File list or file pattern with wildcard, like "*.c *.h",
+ echo seperated by space. If not specified, defaul to *.c.
+echo.
+
+:End
+set FILE_LIST=
+set IMPORT_TOOL=
+
+@echo on
+
Added: trunk/BaseTools/Bin/Win32/LzmaCompress.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/LzmaCompress.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/MigrationMsa2Inf.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/MigrationMsa2Inf.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/PatchPcdValue.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/PatchPcdValue.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/Spd2Dec.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/Spd2Dec.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/Split.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/Split.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/TargetTool.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/TargetTool.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/TianoCompress.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/TianoCompress.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/Trim.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/Trim.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/UPT.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/UPT.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/VfrCompile.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/VfrCompile.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/VolInfo.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/VolInfo.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/_ctypes.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/_ctypes.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/_hashlib.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/_hashlib.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/_socket.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/_socket.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/_sqlite3.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/_sqlite3.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/_ssl.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/_ssl.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/build.exe
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/build.exe
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/msvcr71.dll
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/msvcr71.dll
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/pyexpat.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/pyexpat.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/python25.dll
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/python25.dll
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/select.pyd
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/select.pyd
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/BaseTools/Bin/Win32/sqlite3.dll
===================================================================
(Binary files differ)
Property changes on: trunk/BaseTools/Bin/Win32/sqlite3.dll
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/BaseTools/ReadMe.txt
===================================================================
--- trunk/BaseTools/ReadMe.txt 2011-10-27 03:07:18 UTC (rev 2383)
+++ trunk/BaseTools/ReadMe.txt 2011-10-27 04:08:48 UTC (rev 2384)
@@ -1,7 +1,9 @@
This directory contains the next generation of EDK II build tools and template files.
-Templates are located in the Conf directory, other directory contatins tools source.
+Templates are located in the Conf directory, while the tools executables for
+Microsoft Windows 32-bit Operating Systems are located in the Bin\Win32 directory, other
+directory contatins tools source.
-Build step to generate the binary tools.
+1. Build step to generate the binary tools.
=== Windows/Visual Studio Notes ===
@@ -41,4 +43,10 @@
The Python distributed with most recent Linux will have sqlite3 module
built in. If not, please install sqlit3 package separately.
-17-July-2009
+2. The binary tools will be updated only after passing developer testing.
+
+Current state of the tools is Proto-Type - not all tool functions have been implemented
+and there may be bugs in these tools. These tools are under constant development at
+this time.
+
+26-OCT-2011
Modified: trunk/BaseTools/Source/C/Include/Common/BuildVersion.h
===================================================================
--- trunk/BaseTools/Source/C/Include/Common/BuildVersion.h 2011-10-27 03:07:18 UTC (rev 2383)
+++ trunk/BaseTools/Source/C/Include/Common/BuildVersion.h 2011-10-27 04:08:48 UTC (rev 2384)
@@ -1,3 +1,3 @@
//This file is for build version number auto generation
//
-#define __BUILD_VERSION "Build 2280"
+#define __BUILD_VERSION "Build 2383"
Modified: trunk/BaseTools/Source/Python/Common/BuildVersion.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/BuildVersion.py 2011-10-27 03:07:18 UTC (rev 2383)
+++ trunk/BaseTools/Source/Python/Common/BuildVersion.py 2011-10-27 04:08:48 UTC (rev 2384)
@@ -1,3 +1,3 @@
#This file is for build version number auto generation
#
-gBUILD_VERSION = "Build 2280"
+gBUILD_VERSION = "Build 2383"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lg...@us...> - 2011-10-28 06:28:11
|
Revision: 2387
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2387&view=rev
Author: lgao4
Date: 2011-10-28 06:28:05 +0000 (Fri, 28 Oct 2011)
Log Message:
-----------
Update executables for the latest source on r2386
Singed-off-by: lgao4
Revision Links:
--------------
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2386&view=rev
Modified Paths:
--------------
trunk/BaseTools/Bin/Win32/BPDG.exe
trunk/BaseTools/Bin/Win32/BootSectImage.exe
trunk/BaseTools/Bin/Win32/EfiLdrImage.exe
trunk/BaseTools/Bin/Win32/EfiRom.exe
trunk/BaseTools/Bin/Win32/Fpd2Dsc.exe
trunk/BaseTools/Bin/Win32/GenBootSector.exe
trunk/BaseTools/Bin/Win32/GenCrc32.exe
trunk/BaseTools/Bin/Win32/GenDepex.exe
trunk/BaseTools/Bin/Win32/GenFds.exe
trunk/BaseTools/Bin/Win32/GenFfs.exe
trunk/BaseTools/Bin/Win32/GenFv.exe
trunk/BaseTools/Bin/Win32/GenFw.exe
trunk/BaseTools/Bin/Win32/GenPage.exe
trunk/BaseTools/Bin/Win32/GenPatchPcdTable.exe
trunk/BaseTools/Bin/Win32/GenSec.exe
trunk/BaseTools/Bin/Win32/GenVtf.exe
trunk/BaseTools/Bin/Win32/LzmaCompress.exe
trunk/BaseTools/Bin/Win32/MigrationMsa2Inf.exe
trunk/BaseTools/Bin/Win32/PatchPcdValue.exe
trunk/BaseTools/Bin/Win32/Spd2Dec.exe
trunk/BaseTools/Bin/Win32/Split.exe
trunk/BaseTools/Bin/Win32/TargetTool.exe
trunk/BaseTools/Bin/Win32/TianoCompress.exe
trunk/BaseTools/Bin/Win32/Trim.exe
trunk/BaseTools/Bin/Win32/UPT.exe
trunk/BaseTools/Bin/Win32/VfrCompile.exe
trunk/BaseTools/Bin/Win32/VolInfo.exe
trunk/BaseTools/Bin/Win32/build.exe
trunk/BaseTools/Source/C/Include/Common/BuildVersion.h
trunk/BaseTools/Source/Python/Common/BuildVersion.py
Modified: trunk/BaseTools/Bin/Win32/BPDG.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/BootSectImage.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/EfiLdrImage.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/EfiRom.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/Fpd2Dsc.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenBootSector.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenCrc32.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenDepex.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenFds.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenFfs.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenFv.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenFw.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenPage.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenPatchPcdTable.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenSec.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenVtf.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/LzmaCompress.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/MigrationMsa2Inf.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/PatchPcdValue.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/Spd2Dec.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/Split.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/TargetTool.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/TianoCompress.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/Trim.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/UPT.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/VfrCompile.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/VolInfo.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/build.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Source/C/Include/Common/BuildVersion.h
===================================================================
--- trunk/BaseTools/Source/C/Include/Common/BuildVersion.h 2011-10-28 02:20:34 UTC (rev 2386)
+++ trunk/BaseTools/Source/C/Include/Common/BuildVersion.h 2011-10-28 06:28:05 UTC (rev 2387)
@@ -1,3 +1,3 @@
//This file is for build version number auto generation
//
-#define __BUILD_VERSION "Build 2383"
+#define __BUILD_VERSION "Build 2386"
Modified: trunk/BaseTools/Source/Python/Common/BuildVersion.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/BuildVersion.py 2011-10-28 02:20:34 UTC (rev 2386)
+++ trunk/BaseTools/Source/Python/Common/BuildVersion.py 2011-10-28 06:28:05 UTC (rev 2387)
@@ -1,3 +1,3 @@
#This file is for build version number auto generation
#
-gBUILD_VERSION = "Build 2383"
+gBUILD_VERSION = "Build 2386"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lg...@us...> - 2011-11-08 02:06:07
|
Revision: 2397
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2397&view=rev
Author: lgao4
Date: 2011-11-08 02:06:00 +0000 (Tue, 08 Nov 2011)
Log Message:
-----------
Update executables for the latest source on r2396
Singed-off-by: lgao4
Revision Links:
--------------
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2396&view=rev
Modified Paths:
--------------
trunk/BaseTools/Bin/Win32/BPDG.exe
trunk/BaseTools/Bin/Win32/BootSectImage.exe
trunk/BaseTools/Bin/Win32/EfiLdrImage.exe
trunk/BaseTools/Bin/Win32/EfiRom.exe
trunk/BaseTools/Bin/Win32/Fpd2Dsc.exe
trunk/BaseTools/Bin/Win32/GenBootSector.exe
trunk/BaseTools/Bin/Win32/GenCrc32.exe
trunk/BaseTools/Bin/Win32/GenDepex.exe
trunk/BaseTools/Bin/Win32/GenFds.exe
trunk/BaseTools/Bin/Win32/GenFfs.exe
trunk/BaseTools/Bin/Win32/GenFv.exe
trunk/BaseTools/Bin/Win32/GenFw.exe
trunk/BaseTools/Bin/Win32/GenPage.exe
trunk/BaseTools/Bin/Win32/GenPatchPcdTable.exe
trunk/BaseTools/Bin/Win32/GenSec.exe
trunk/BaseTools/Bin/Win32/GenVtf.exe
trunk/BaseTools/Bin/Win32/LzmaCompress.exe
trunk/BaseTools/Bin/Win32/MigrationMsa2Inf.exe
trunk/BaseTools/Bin/Win32/PatchPcdValue.exe
trunk/BaseTools/Bin/Win32/Spd2Dec.exe
trunk/BaseTools/Bin/Win32/Split.exe
trunk/BaseTools/Bin/Win32/TargetTool.exe
trunk/BaseTools/Bin/Win32/TianoCompress.exe
trunk/BaseTools/Bin/Win32/Trim.exe
trunk/BaseTools/Bin/Win32/UPT.exe
trunk/BaseTools/Bin/Win32/VfrCompile.exe
trunk/BaseTools/Bin/Win32/VolInfo.exe
trunk/BaseTools/Bin/Win32/build.exe
trunk/BaseTools/Source/C/Include/Common/BuildVersion.h
trunk/BaseTools/Source/Python/Common/BuildVersion.py
Modified: trunk/BaseTools/Bin/Win32/BPDG.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/BootSectImage.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/EfiLdrImage.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/EfiRom.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/Fpd2Dsc.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenBootSector.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenCrc32.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenDepex.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenFds.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenFfs.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenFv.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenFw.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenPage.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenPatchPcdTable.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenSec.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/GenVtf.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/LzmaCompress.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/MigrationMsa2Inf.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/PatchPcdValue.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/Spd2Dec.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/Split.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/TargetTool.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/TianoCompress.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/Trim.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/UPT.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/VfrCompile.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/VolInfo.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Bin/Win32/build.exe
===================================================================
(Binary files differ)
Modified: trunk/BaseTools/Source/C/Include/Common/BuildVersion.h
===================================================================
--- trunk/BaseTools/Source/C/Include/Common/BuildVersion.h 2011-11-07 07:52:12 UTC (rev 2396)
+++ trunk/BaseTools/Source/C/Include/Common/BuildVersion.h 2011-11-08 02:06:00 UTC (rev 2397)
@@ -1,3 +1,3 @@
//This file is for build version number auto generation
//
-#define __BUILD_VERSION "Build 2386"
+#define __BUILD_VERSION "Build 2396"
Modified: trunk/BaseTools/Source/Python/Common/BuildVersion.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/BuildVersion.py 2011-11-07 07:52:12 UTC (rev 2396)
+++ trunk/BaseTools/Source/Python/Common/BuildVersion.py 2011-11-08 02:06:00 UTC (rev 2397)
@@ -1,3 +1,3 @@
#This file is for build version number auto generation
#
-gBUILD_VERSION = "Build 2386"
+gBUILD_VERSION = "Build 2396"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gi...@us...> - 2011-11-17 09:38:52
|
Revision: 2415
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2415&view=rev
Author: gikidy
Date: 2011-11-17 09:38:42 +0000 (Thu, 17 Nov 2011)
Log Message:
-----------
Remove binary tools from BaseTools trunk and remove build number information.
Signed-off-by: gikidy
Reviewed-by: lgao4
Modified Paths:
--------------
trunk/BaseTools/ReadMe.txt
trunk/BaseTools/Source/C/Include/Common/BuildVersion.h
trunk/BaseTools/Source/Python/Common/BuildVersion.py
Removed Paths:
-------------
trunk/BaseTools/Bin/Darwin-i386/
trunk/BaseTools/Bin/Win32/
Modified: trunk/BaseTools/ReadMe.txt
===================================================================
--- trunk/BaseTools/ReadMe.txt 2011-11-17 08:32:56 UTC (rev 2414)
+++ trunk/BaseTools/ReadMe.txt 2011-11-17 09:38:42 UTC (rev 2415)
@@ -43,10 +43,4 @@
The Python distributed with most recent Linux will have sqlite3 module
built in. If not, please install sqlit3 package separately.
-2. The binary tools will be updated only after passing developer testing.
-
-Current state of the tools is Proto-Type - not all tool functions have been implemented
-and there may be bugs in these tools. These tools are under constant development at
-this time.
-
26-OCT-2011
Modified: trunk/BaseTools/Source/C/Include/Common/BuildVersion.h
===================================================================
--- trunk/BaseTools/Source/C/Include/Common/BuildVersion.h 2011-11-17 08:32:56 UTC (rev 2414)
+++ trunk/BaseTools/Source/C/Include/Common/BuildVersion.h 2011-11-17 09:38:42 UTC (rev 2415)
@@ -1,3 +1,3 @@
//This file is for build version number auto generation
//
-#define __BUILD_VERSION "Build 2396"
+#define __BUILD_VERSION ""
Modified: trunk/BaseTools/Source/Python/Common/BuildVersion.py
===================================================================
--- trunk/BaseTools/Source/Python/Common/BuildVersion.py 2011-11-17 08:32:56 UTC (rev 2414)
+++ trunk/BaseTools/Source/Python/Common/BuildVersion.py 2011-11-17 09:38:42 UTC (rev 2415)
@@ -1,3 +1,3 @@
#This file is for build version number auto generation
#
-gBUILD_VERSION = "Build 2396"
+gBUILD_VERSION = ""
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gi...@us...> - 2011-12-01 01:22:04
|
Revision: 2449
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2449&view=rev
Author: gikidy
Date: 2011-12-01 01:21:56 +0000 (Thu, 01 Dec 2011)
Log Message:
-----------
Update help information in both code and MAN page to describe an Efi Option ROM image must have Device ID and Vendor ID.
Signed-off-by: gikidy
Reviewed-by: mdkinney
Modified Paths:
--------------
trunk/BaseTools/Source/C/EfiRom/EfiRom.c
trunk/BaseTools/UserManuals/EfiRom_Utility_Man_Page.rtf
Modified: trunk/BaseTools/Source/C/EfiRom/EfiRom.c
===================================================================
--- trunk/BaseTools/Source/C/EfiRom/EfiRom.c 2011-11-30 08:30:54 UTC (rev 2448)
+++ trunk/BaseTools/Source/C/EfiRom/EfiRom.c 2011-12-01 01:21:56 UTC (rev 2449)
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 1999 - 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 1999 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
distribution. The full text of the license may be found at
@@ -1200,19 +1200,19 @@
//
// Summary usage
//
- fprintf (stdout, "Usage: %s [options] [file name<s>] \n\n", UTILITY_NAME);
+ fprintf (stdout, "Usage: %s -f VendorId -i DeviceId [options] [file name<s>] \n\n", UTILITY_NAME);
//
// Copyright declaration
//
- fprintf (stdout, "Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.\n\n");
+ fprintf (stdout, "Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.\n\n");
//
// Details Option
//
fprintf (stdout, "Options:\n");
fprintf (stdout, " -o FileName, --output FileName\n\
- File will be created to store the ouput content.\n");
+ File will be created to store the output content.\n");
fprintf (stdout, " -e EfiFileName\n\
EFI PE32 image files.\n");
fprintf (stdout, " -ec EfiFileName\n\
@@ -1224,9 +1224,9 @@
fprintf (stdout, " -r Rev Hex Revision in the PCI data structure header.\n");
fprintf (stdout, " -n Not to automatically set the LAST bit in the last file.\n");
fprintf (stdout, " -f VendorId\n\
- Hex PCI Vendor ID for the device OpROM.\n");
+ Hex PCI Vendor ID for the device OpROM, must be specified\n");
fprintf (stdout, " -i DeviceId\n\
- Hex PCI Device ID for the device OpROM.\n");
+ Hex PCI Device ID for the device OpROM, must be specified\n");
fprintf (stdout, " -p, --pci23\n\
Default layout meets PCI 3.0 specifications\n\
specifying this flag will for a PCI 2.3 layout.\n");
Modified: trunk/BaseTools/UserManuals/EfiRom_Utility_Man_Page.rtf
===================================================================
--- trunk/BaseTools/UserManuals/EfiRom_Utility_Man_Page.rtf 2011-11-30 08:30:54 UTC (rev 2448)
+++ trunk/BaseTools/UserManuals/EfiRom_Utility_Man_Page.rtf 2011-12-01 01:21:56 UTC (rev 2449)
@@ -1,78 +1,272 @@
-{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe2052\deftab360{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}{\f1\froman\fprq2\fcharset0 Times New Roman;}}
-{\colortbl ;\red8\green96\blue168;\red0\green0\blue0;}
-{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}}
-{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\tx1440\cf1\b\f0\fs28 Name\par
-\pard\nowidctlpar\sb200\cf2\b0\fs18 EfiRom.exe - build an Option ROM image\par
-\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\tx1440\cf1\b\fs28 Synopsis\par
-\pard\nowidctlpar\sb200\cf2\fs18 EfiRom.exe [options] Filename [Filename]\'85\par
-\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\fs28 Description\par
-\pard\nowidctlpar\sb200\cf2\b0\fs18 EfiRom is used to build an Option ROM image from UEFI PE32 file(s) and/or legacy option ROM images that conform to PCI 2.3 or PCI 3.0 specifications for Option ROM layout. The EfiRom utility performs some rudimentary checking on the input Portable Executable (PE) PE32 files to verify they are indeed PE32 images. These checks include:\par
-\pard\nowidctlpar\li360\sb200 Verification that the DOS stub magic value is 0x5A4D\par
-Verification that the PE signature is \ldblquote PE\\0\\0\rdblquote\par
-\pard\nowidctlpar\sb200 If either of these checks fails then the utility will abort without creating the output ROM image file.\par
-This utility performs some rudimentary checking of the input binary files to verify they are indeed valid option ROM images. These checks include:\par
-\pard\nowidctlpar\li360\sb200 Verification that the signature of the option ROM header is 0xAA55\par
-Verification that the offset to the PCI data structure is within the range of the file size.\par
-Verification that the signature of the PCI data structure is \ldblquote PCIR\rdblquote .\par
-\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 Options\par
-\pard\nowidctlpar\sb200\cf2\fs18 Filename1 [FilenameN]\par
-\pard\nowidctlpar\li360\sb200\b0 Input PE/PE32+/COFF or legacy option ROM image file(s).\par
-\pard\nowidctlpar\sb200\b -o, --output RomFilename\par
-\pard\nowidctlpar\li360\sb200\b0 The ROM filename being created. If not specified, use the first input filename as name and *.rom as the output filename extension.\par
-\pard\nowidctlpar\sb200\b -e, --efi\par
-\pard\nowidctlpar\li360\sb200\b0 Input PE/PE32+/COFF file(s)\par
-\pard\nowidctlpar\sb200\b -b, --binary\par
-\pard\nowidctlpar\li360\sb200\b0 Input legacy option ROM image files.\par
-\pard\nowidctlpar\sb200\b -ec, --compress\par
-\pard\nowidctlpar\li360\sb200\b0 Compress input PE/PE32+/COFF file.\par
-\pard\nowidctlpar\sb200\b -n, --no-last-bit\par
-\pard\nowidctlpar\li360\sb200\b0 Do not set the LAST bit on the last file.\par
-\pard\nowidctlpar\sb200\lang1036\b -l ClassCode, --class-code=ClassCode\par
-\pard\nowidctlpar\li360\sb200\lang1033\b0 Use ClassCode in the PCI data structure header in the input file.\par
-\pard\nowidctlpar\sb200\b -r Rev, --Revision=Rev\par
-\pard\nowidctlpar\li360\sb200\b0 Use Rev in the PCI data structure header in the input file.\par
-\pard\nowidctlpar\sb200\b -p, --pci23\par
-\pard\nowidctlpar\li360\sb200\b0 Default layout meets PCI 3.0 specifications, specifying this flag will for a PCI 2.3 layout.\par
-\pard\nowidctlpar\sb200\b -d, --dump\par
-\pard\nowidctlpar\li360\sb200\b0 Dump the header of input option ROM image\par
-\pard\nowidctlpar\sb200\b -i, --device-id\par
-\pard\nowidctlpar\li360\sb200\b0 Device ID \par
-\pard\nowidctlpar\sb200\b -f, --vendor-id\par
-\pard\nowidctlpar\li360\sb200\b0 Vendor ID\par
-\pard\nowidctlpar\sb200\b --version\par
-\pard\nowidctlpar\li360\sb200\b0 Print version and copyright of this program then exit.\par
-\pard\nowidctlpar\sb200\b -v, --verbose\par
-\pard\nowidctlpar\li360\sb200\b0 Turn on verbose output with informational messages printed. This is a count value, so specifying \endash vv can be used to increase the verbosity level.\par
-\pard\nowidctlpar\sb200\b -q, --quiet\par
-\pard\nowidctlpar\li360\sb200\b0 Disable all messages except FATAL ERRORS.\par
-\pard\nowidctlpar\sb200\b -d, --debug [#]\par
-\pard\nowidctlpar\li360\sb200\b0 Enable debug messages, at level #.\par
-\pard\nowidctlpar\sb200\b -h, --help\par
-\pard\nowidctlpar\li360\sb200\b0 Print the copyright, version and usage of this program then exit.\par
-\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 Examples\par
-\pard\nowidctlpar\sb200\cf2\b0\fs18 Generate the Option ROM with two efi binary files and one legacy binary file. The output filename is not specified in command line, so the output filename will be \ldblquote File1.rom\rdblquote . The output filename is the same as the first input filename with the extension \ldblquote .rom\rdblquote\par
-\b EfiRom \endash e File1.efi File2.efi \endash b Legacy.bin\par
-\b0 Generate the Option ROM with two efi binary files and one legacy binary file with the output filename specified on the command line.\par
-\b EfiRom \endash o file.rom \endash e File1.efi File2.efi \endash b Legacy.bin\par
-\b0 Generate the Option ROM with two efi binary files and one legacy binary file. The output filename is not specified in command line, so the output filename will be \ldblquote File1.rom\rdblquote . The output filename is the same as the first input filename with the extension \ldblquote .rom\rdblquote . Vendor ID and Device ID are both specified in command line and the efi binary files will be compressed using the Tiano Compression algorithm.\par
-\b EfiRom \endash i 0xABCD \endash f 0x1234 \endash ec File1.efi File2.efi \endash b Legacy.bin\par
-\b0 Generate the Option ROM with two efi binary files and one legacy binary file with the output filename is specified in command line. Vendor ID and Device ID are both specified in command line and the efi binary files will be compressed using the Tiano Compression algorithm.\par
-\b EfiRom \endash o file.rom \endash i 0xABCD \endash f 0x1234 \endash ec File1.efi File2.efi \endash b Legacy.bin\par
-\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\fs28 Bugs\par
-\pard\nowidctlpar\sb200\cf2\b0\fs18 No known bugs.\par
-Report bugs to edk...@li...\f1\par
-\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Files\par
-\pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
-\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 See also\par
-\pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
-\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 License\par
-\pard\nowidctlpar\cf2\b0\fs18 Copyright (c) 1999 - 2009, Intel Corporation. All rights reserved.\par
-This program and the accompanying materials are licensed and made available \par
-under the terms and conditions of the BSD License which accompanies this \par
-distribution. The full text of the license may be found at\par
-http://opensource.org/licenses/bsd-license.php\par
-\par
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\par
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\par
-}
- |
|
From: <lh...@us...> - 2012-02-21 23:53:48
|
Revision: 2485
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2485&view=rev
Author: lhauch
Date: 2012-02-21 23:09:52 +0000 (Tue, 21 Feb 2012)
Log Message:
-----------
Removed Java/ANT migration tools and files that pertained to the Java/ANT build
Modified Paths:
--------------
trunk/BaseTools/BuildEnv
trunk/BaseTools/Source/Python/Makefile
trunk/BaseTools/toolsetup.bat
Removed Paths:
-------------
trunk/BaseTools/Conf/XMLSchema/FarManifest.xsd
trunk/BaseTools/Conf/XMLSchema/FrameworkDataAttributes.xsd
trunk/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd
trunk/BaseTools/Conf/XMLSchema/FrameworkDataTypes.xsd
trunk/BaseTools/Conf/XMLSchema/FrameworkHeaders.xsd
trunk/BaseTools/Conf/XMLSchema/NamingConvention.xsd
trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsd
trunk/BaseTools/Conf/XMLSchema/SurfaceArea.xsdconfig
trunk/BaseTools/Conf/XMLSchema/WorkspaceContent.xsd
trunk/BaseTools/Source/Python/Fdb/
trunk/BaseTools/Source/Python/FixFlash/
trunk/BaseTools/Source/Python/MigrationMsa2Inf/
trunk/BaseTools/Source/Python/MkBOM/
trunk/BaseTools/Source/Python/fpd2dsc/
trunk/BaseTools/Source/Python/msa2inf/
trunk/BaseTools/Source/Python/spd2dec/
Property Changed:
----------------
trunk/BaseTools/Bin/
Property changes on: trunk/BaseTools/Bin
___________________________________________________________________
Added: svn:ignore
+ Win32
Modified: trunk/BaseTools/BuildEnv
===================================================================
--- trunk/BaseTools/BuildEnv 2012-02-07 06:36:02 UTC (rev 2484)
+++ trunk/BaseTools/BuildEnv 2012-02-21 23:09:52 UTC (rev 2485)
@@ -208,7 +208,6 @@
CopyTemplateFiles() {
CopySingleTemplateFile build_rule
- CopySingleTemplateFile FrameworkDatabase
CopySingleTemplateFile tools_def
CopySingleTemplateFile target
Deleted: trunk/BaseTools/Conf/XMLSchema/FarManifest.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/FarManifest.xsd 2012-02-07 06:36:02 UTC (rev 2484)
+++ trunk/BaseTools/Conf/XMLSchema/FarManifest.xsd 2012-02-21 23:09:52 UTC (rev 2485)
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Filename: FarManifest.xsd
-
-Copyright (c) 2007, Intel Corporation. All rights reserved.
-This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which may be found at http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.TianoCore.org/2007/Edk2.1" xmlns="http://www.TianoCore.org/2007/Edk2.1">
- <xs:include schemaLocation="FrameworkHeaders.xsd"/>
- <xs:annotation>
- <xs:documentation xml:lang="en">
- The Framework Archive File Format is defined as a Java Archive file, with a special xml file called FrameworkArchiveManifest.xml at the top of the archive. The FrameworkArchiveManifest.xml must be an instance of this schema.
- </xs:documentation>
- </xs:annotation>
- <xs:element name="FrameworkArchiveManifest">
- <xs:annotation>
- <xs:documentation xml:lang="en">
- This schema defines the Framework Archive Manifest.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" ref="FarHeader"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="FarPackageList">
- <xs:annotation>
- <xs:documentation>
- The list of packages in this FAR.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element minOccurs="0" maxOccurs="1" ref="Contents">
- <xs:annotation>
- <xs:documentation>
- Extra contents that are not part of any Package. These file paths are WORKSPACE relative. If a file exists in the workspace at this location, then the user should be asked whether to overwrite. When the user removes the far, these should be removed also, unless they have been modified (per md5sum).
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="FarPackageList">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" ref="FarPackage"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="FarPackage">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="FarFilename">
- <xs:annotation>
- <xs:documentation>
- This is the name of the .spd or file that describes the package. It must exist in the directory identified by DefaultPath.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="GuidValue"></xs:element>
- <xs:element ref="Version"></xs:element>
- <xs:element ref="DefaultPath">
- <xs:annotation>
- <xs:documentation>
- This is the default installation location within the workspace. This also serves as the location within the far itself of the package root. The Contents of the pacakage will be found there. The user may choose some other location within the workspace to install the package, as long as it does not overlap a package that is already installed.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="Contents">
- <xs:annotation>
- <xs:documentation>
- This is the list of files that belong to the package. They are specified by relative path from the root of the pacakge.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"></xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="DefaultPath" type="PathAndFilename"/>
- <xs:element name="FarFilename" type="DbPathAndFilename">
- <xs:annotation>
- <xs:documentation>
- The FarFilename is used to build up the Contents list. It has an md5sum attribute for keeping track of whether the file is changed after it is installed. The Md5sum can also be used to check the integrity of a far before it is installed into the workspace.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="GuidValue" type="GuidType">
- <xs:annotation>
- <xs:documentation>
- The purpose of this element is to allow Guids to be assigned to or used by other elements in the schema.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Contents">
- <xs:annotation>
- <xs:documentation>
- This tag allows us to specify a tree of files all having a common root. All the files specified are relative to that common root.
- </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="FarFilename"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:annotation>
- <xs:documentation xml:lang="en">
- Definitions and rules for creating, installing, updating and removing fars within the workspace.
- </xs:documentation>
- <xs:documentation>
- 1. A module m is said to depend upon a package p, iff there exists a tuple (PackageGuid, PackageVerion) in the set m->PackageDependencies for which p->Guid==PackageGuid, and if PackageVersion is not empty, then p->Version== PackageVersion.
- </xs:documentation>
- <xs:documentation>
- 2. A far f is said to depend on a far g, iff there is a module in a package in f that depends on a package in g.
- </xs:documentation>
- <xs:documentation>
- 3. A far f is said to depend on a package p, iff there is a module m contained in f that depends on p.
- </xs:documentation>
- <xs:documentation>
- 4. A far f may be installed into the workspace w, iff for each module m in f, m's dependencies are met by the packages in w or f.
- </xs:documentation>
- <xs:documentation>
- a. It is supported to "partially" install a far. A partial installation of a far means that 1 or more packages are installed into the workspace from the far. For each package p in f, p's dependencies must be satisfied by a package in the workspace.
- </xs:documentation>
- <xs:documentation>
- 5. A far f may be removed from the workspace w, iff for each module m in w, and for each package p in f, m does not depend on p.
- </xs:documentation>
- <xs:documentation>
- a. It is supported to "partially" remove a far. In this case, one or more of the packages in the far can be removed, provided that for each package p in the workspace w, there does not exist a module m such that m depends on p.
- </xs:documentation>
- <xs:documentation>
- 6. When installing a far f into workspace w, for each package p in f, allow the user to install in p's default location, or choose a new location l (which must be unoccupied) within the workspace. Record this location l in the database. Each package p in f will be recorded in the database, associated with the GUID of f, as well as the actual install location l. (So we will know which far each package belongs to.)
- </xs:documentation>
- <xs:documentation>
- 7. When installing a far f into workspace w, if there exists a package p in w, and p is in f, then the user must be prompted to choose a location that does not collide with the location of p in workspace w. We will end up with two instances of p in w at two distinct locations. Alternately, the user may elect to partially install the far, leaving out the redundant package.
- </xs:documentation>
- <xs:documentation>
- 8. A far f may replace a far g in the workspace w, iff for each module m contained in w, if m depends on a package p, and p is only contained in g, then there must exist a package q in f, such that m depends on q. The net effect is that g is removed and f is installed, in one operation. The normal rules for installing f still apply--the dependencies of the modules of f must be satisfied. After the replacement, it must be the case that all the modules dependencies in the workspace are satisfied. Note that it is possible to backrev a package in this way.
- </xs:documentation>
- <xs:documentation>
- (If we find that the replace is not permitted, then the user may install f and keep g. Next, he could _port_ every module m in w that depends on g, to f and eventually remove g.)
- </xs:documentation>
- <xs:documentation>
- 9. A special case of the above rule is that a far f may be reinstalled into the workspace. (This would allow the user to get a fresh copy, or change the location in the workspace where one or more of the packages of f are installed.)
- </xs:documentation>
- <xs:documentation>
- 10. When a far f is removed from the workspace w, for each package p in f, we will remove p from w.
- </xs:documentation>
- <xs:documentation>
- 11. If a package p belongs to a far f, then it is legal to remove p from the workspace w iff, there does not exist a module m in w such that m depends on p.
- </xs:documentation>
- <xs:documentation>
- 12. When a far f is removed from the workspace, the we will remove all the files in f from the workspace tree. If a file has been modified from the original as installed from the far (per md5sum) then the user should be asked if he is "sure" he wants to remove it.
- </xs:documentation>
- <xs:documentation>
- 13. When a far is created, a GUID is generated and assigned to the far. If a far is created from the same components at a later time, it would have a different GUID.
- </xs:documentation>
- <xs:documentation>
- 14. If a package p is marked with p->RePackage==false, then p may not be added to a far.
- </xs:documentation>
- <xs:documentation>
- 15. A far f is identical to a far g, iff f->Guid == g->Guid.
- </xs:documentation>
- <xs:documentation>
- 17. A far f may be installed into the workspace w, iff there is no far g in w such that f->Guid==g->Guid. In that case, it is called "updating" the far in the workspace. The user may select some subset of packages to reinstall or update, to ensure that the files in the workspace are correct.
- </xs:documentation>
- </xs:annotation>
-</xs:schema>
Deleted: trunk/BaseTools/Conf/XMLSchema/FrameworkDataAttributes.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/FrameworkDataAttributes.xsd 2012-02-07 06:36:02 UTC (rev 2484)
+++ trunk/BaseTools/Conf/XMLSchema/FrameworkDataAttributes.xsd 2012-02-21 23:09:52 UTC (rev 2485)
@@ -1,180 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://www.TianoCore.org/2007/Edk2.1" targetNamespace="http://www.TianoCore.org/2007/Edk2.1">
- <!--
- Filename: FrameworkDataAttributes.xsd
-
- Copyright (c) 2007, Intel Corporation. All rights reserved.
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which may be found at http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- -->
- <xs:annotation>
- <xs:documentation xml:lang="en">This schema defines EFI and Framework Attribute. Only attributeGroups are specified in this file. </xs:documentation>
- </xs:annotation>
- <xs:include schemaLocation="NamingConvention.xsd"/>
- <xs:include schemaLocation="FrameworkDataTypes.xsd"/>
- <!-- Fix Name data type from xs:string -->
- <xs:attributeGroup name="BinaryFileAttributes">
- <xs:attribute name="FileType" type="BinFileType" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="Target" type="ToolsNameConvention" use="optional"/>
- <xs:attribute name="TagName" type="ToolsNameConvention" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="BootModeAttributes">
- <xs:attribute name="BootModeName" type="BootModeNames" use="required"/>
- <xs:attribute name="Usage" type="BootModeUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="DataHubAttributes">
- <xs:attribute name="Usage" type="DataHubUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="EventAttributes">
- <xs:attribute name="Usage" type="EventUsage" use="required"/>
- <xs:attribute name="EventGuidCName" type="C_NameType" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="ExternAttributes">
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="FilenameAttributes">
- <xs:attribute name="TagName" type="ToolsNameConvention" use="optional"/>
- <xs:attribute name="ToolCode" type="ToolsNameConvention" use="optional"/>
- <xs:attribute name="ToolChainFamily" type="ToolsNameConvention" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="GuidAttributes">
- <xs:attribute name="Usage" type="GuidUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="GuidDeclarationAttributes">
- <xs:attribute name="Name" type="UiNameType" use="required"/>
- <xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="HiiPackageAttributes">
- <xs:attribute name="Usage" type="HiiPackageUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="HobAttributes">
- <xs:attribute name="Usage" type="HobUsage" use="required"/>
- <xs:attribute name="HobGuidCName" type="C_NameType" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="IncludeHeaderAttributes">
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="IndustryStdHeaderAttributes">
- <xs:attribute name="Name" type="KeywordType" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="LibraryClassAttributes">
- <xs:attribute name="Usage" type="LibraryUsage" use="required"/>
- <xs:attribute name="RecommendedInstanceVersion" type="VersionDataType" use="optional"/>
- <xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="LibraryClassDeclarationAttributes">
- <xs:attribute name="Name" type="KeywordType" use="required"/>
- <xs:attribute name="RecommendedInstanceVersion" type="VersionDataType" use="optional"/>
- <xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="OptionAttributes">
- <xs:attribute name="BuildTargets" type="BuildTargetList" use="optional"/>
- <xs:attribute name="ToolChainFamily" type="ToolsNameConvention" use="optional"/>
- <xs:attribute name="TagName" type="ToolsNameConvention" use="optional"/>
- <xs:attribute name="ToolCode" type="ToolsNameConvention" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="PackageHeaderAttributes">
- <xs:attribute name="ModuleType" type="ModuleTypeDef" use="required"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="PackageAttributes">
- <!-- Used with the MSA File, PackageDependencies.Package -->
- <xs:attribute name="PackageGuid" type="GuidType" use="required"/>
- <xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="PackageNameAttributes">
- <!--Used with the FrameworkDatabase PackageList.Packagename -->
- <xs:attribute name="PackageGuid" type="GuidType" use="optional"/>
- <xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="PcdCodedAttributes">
- <!-- We need to modify ALL the MSA files that have PcdCoded sections to
- set the PcdUsage. Once we modify all the MSA files and we modify the
- wizard and the build tools, we need to make this required. -->
- <xs:attribute name="Usage" type="PcdUsage" use="optional"/>
- <xs:attribute name="PcdItemType" type="PcdItemTypes" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="PcdDeclarationAttributes">
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="PpiDeclarationAttributes">
- <xs:attribute name="Name" type="UiNameType" use="required"/>
- <xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="PpiAttributes">
- <xs:attribute name="Usage" type="PpiUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="PpiNotifyAttributes">
- <xs:attribute name="Usage" type="PpiNotifyUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="ProtocolAttributes">
- <xs:attribute name="Usage" type="ProtocolUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="ProtocolDeclarationAttributes">
- <xs:attribute name="Name" type="UiNameType" use="required"/>
- <xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="ProtocolNotifyAttributes">
- <xs:attribute name="Usage" type="ProtocolNotifyUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="SystemTableAttributes">
- <xs:attribute name="Usage" type="SystemTableUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
- <xs:attributeGroup name="VariableAttributes">
- <xs:attribute name="Usage" type="VariableUsage" use="required"/>
- <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>
- <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>
- </xs:attributeGroup>
-</xs:schema>
Deleted: trunk/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd
===================================================================
--- trunk/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd 2012-02-07 06:36:02 UTC (rev 2484)
+++ trunk/BaseTools/Conf/XMLSchema/FrameworkDataElements.xsd 2012-02-21 23:09:52 UTC (rev 2485)
@@ -1,728 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://www.TianoCore.org/2007/Edk2.1" targetNamespace="http://www.TianoCore.org/2007/Edk2.1">
- <!--
- Filename: FrameworkDataElements.xsd
-
- Copyright (c) 2007, Intel Corporation. All rights reserved.
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which may be found at http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- -->
- <xs:annotation>
- <xs:documentation xml:lang="en"> This schema defines EFI and Framework Data Elements </xs:documentation>
- </xs:annotation>
- <xs:include schemaLocation="NamingConvention.xsd"/>
- <xs:include schemaLocation="FrameworkDataTypes.xsd"/>
- <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>
- <xs:element name="Abstract" type="Sentence">
- <xs:annotation>
- <xs:documentation xml:lang="en">Abstract is valid for all Description Files</xs:documentation>
- <xs:documentation xml:lang="en">This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="BootModes">
- <xs:annotation>
- <xs:documentation xml:lang="en">BootModes is valid for all Description Files</xs:documentation>
- <xs:documentation xml:lang="en">This is a list of BootModes Supported by the Module</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" name="BootMode">
- <xs:complexType>
- <xs:sequence minOccurs="0">
- <xs:element name="HelpText" type="Paragraph"/>
- </xs:sequence>
- <xs:attributeGroup ref="BootModeAttributes"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Copyright" type="Paragraph"/>
- <xs:element name="DataHubs">
- <xs:annotation>
- <xs:documentation xml:lang="en">This is a list of DataHubRecord elements.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" name="DataHubRecord">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="DataHubCName" type="C_NameType"/>
- <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
- </xs:sequence>
- <xs:attributeGroup ref="DataHubAttributes"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="DefaultValue">
- <xs:annotation>
- <xs:documentation xml:lang="en">The default setting of a PCD entry.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:normalizedString"/>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="Depex">
- <xs:annotation>
- <xs:documentation xml:lang="en">This section is used to describe the DXE or PEI Dependency code</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Define" type="xs:normalizedString"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" name="Expression" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Description" type="Paragraph">
- <xs:annotation>
- <xs:documentation xml:lang="en">This section is required for new modules and libraries and must contain more information than the Abstract.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="BinaryFiles">
- <xs:annotation>
- <xs:documentation xml:lang="en">Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
- <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="PathAndFilename">
- <xs:attributeGroup ref="BinaryFileAttributes"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Events">
- <xs:annotation>
- <xs:documentation xml:lang="en">This is a list of MSA Events</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="1" name="CreateEvents">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="unbounded" name="EventTypes">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>
- <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
- ...
[truncated message content] |