summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqouyang <qouyang@6f19259b-4bc3-4df7-8a09-765794883524>2006-06-08 09:11:56 +0000
committerqouyang <qouyang@6f19259b-4bc3-4df7-8a09-765794883524>2006-06-08 09:11:56 +0000
commit2da8968bb588b2bf72501a90597b8de464394024 (patch)
tree8c5c12c202a60c0030d6e4bc5b7ff60360022f09
parenta28984d9057ad9b03e8515826eb2da0b4dc36add (diff)
downloadedk2-2da8968bb588b2bf72501a90597b8de464394024.tar.gz
edk2-2da8968bb588b2bf72501a90597b8de464394024.tar.bz2
edk2-2da8968bb588b2bf72501a90597b8de464394024.zip
1.Change environment variable from "Framework_Tools_Path" to "FRAMEWORK_TOOLS_PATH".
2.Add one OUTPUT - *.org file for GenFfsFile tool. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@443 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/CompressSection.java23
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FwImageTask.java14
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenCRC32SectionTask.java6
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenDepexTask.java10
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java117
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFvImageTask.java140
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenSectionTask.java8
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GuidChkTask.java2
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/MakeDeps.java2
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SectFile.java14
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Section.java2
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SetStampTask.java6
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/StrGatherTask.java6
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Tool.java7
-rw-r--r--Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/VfrCompilerTask.java2
-rw-r--r--edksetup.bat2
16 files changed, 222 insertions, 139 deletions
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/CompressSection.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/CompressSection.java
index 8def4ebc95..674c6c8667 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/CompressSection.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/CompressSection.java
@@ -54,7 +54,7 @@ public class CompressSection implements Section, FfsTypes{
@param Buffer The point of output buffer
**/
- public void toBuffer (DataOutputStream Buffer){
+ public void toBuffer (DataOutputStream buffer, DataOutputStream orgBuffer){
Section sect;
File compressOut;
@@ -79,7 +79,7 @@ public class CompressSection implements Section, FfsTypes{
// Call each section class's toBuffer function.
//
try {
- sect.toBuffer(Do);
+ sect.toBuffer(Do, orgBuffer);
}
catch (BuildException e) {
System.out.print(e.getMessage());
@@ -121,7 +121,7 @@ public class CompressSection implements Section, FfsTypes{
Ch.SectionHeader.type = (byte) EFI_SECTION_COMPRESSION;
//
- // Note: The compressName was not effective now. Using the
+ // Note: The compressName was not efsfective now. Using the
// EFI_STANDARD_COMPRSSION for compressType .
// That is follow old Genffsfile tools. Some code will be added for
// the different compressName;
@@ -138,19 +138,26 @@ public class CompressSection implements Section, FfsTypes{
//
// First add CompressHeader to Buffer, then add Compress data.
//
- Buffer.write (headerBuffer);
- Buffer.write(myCompress.outputBuffer);
+ buffer.write (headerBuffer);
+ buffer.write(myCompress.outputBuffer);
//
- // 4 Byte aligment
+ // Buffer 4 Byte aligment
//
int size = Ch.GetSize() + myCompress.outputBuffer.length;
while ((size & 0x03) != 0){
size ++;
- Buffer.writeByte(0);
+ buffer.writeByte(0);
+ }
+ //
+ // orgBuffer 4 Byte aligment
+ //
+ size = (int)compressOut.length();
+ while ((size & 0x03) != 0){
+ size ++;
+ orgBuffer.writeByte(0);
}
-
//
// Delete temp file
//
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FwImageTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FwImageTask.java
index 19583b5c90..adfe4c78ce 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FwImageTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FwImageTask.java
@@ -22,6 +22,7 @@ import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.taskdefs.Execute;
import org.apache.tools.ant.taskdefs.LogStreamHandler;
import org.apache.tools.ant.types.Commandline;
+import org.tianocore.build.*;
/**
FwImageTask class.
@@ -65,12 +66,12 @@ public class FwImageTask extends Task implements EfiDefine{
//
// absolute path of efi tools
//
- String path = project.getProperty("env.Framework_Tools_Path");
+ String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
String command;
if (path == null) {
- command = "FwImage";
+ command = "fwimage";
} else {
- command = path + "/" + "FwImage";
+ command = path + "/" + "fwimage";
}
//
// argument of tools
@@ -92,14 +93,15 @@ public class FwImageTask extends Task implements EfiDefine{
runner.setAntRun(project);
runner.setCommandline(cmdline.getCommandline());
- System.out.println(Commandline.toString(cmdline.getCommandline()));
-
+ //System.out.println(Commandline.toString(cmdline.getCommandline()));
+ //GenBuildTask.myLogger.log(Commandline.toString(cmdline.getCommandline()),0);
+ //getProject().log(Commandline.toString(cmdline.getCommandline()));
revl = runner.execute();
if (EFI_SUCCESS == revl) {
//
// command execution success
//
- System.out.println("fwimage succeeded!");
+ System.out.println("fwimage successed!");
} else {
//
// command execution fail
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenCRC32SectionTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenCRC32SectionTask.java
index 33115aa10f..52111b9c17 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenCRC32SectionTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenCRC32SectionTask.java
@@ -59,12 +59,12 @@ public class GenCRC32SectionTask extends Task implements EfiDefine{
///
/// absolute path of efi tools
///
- String path = project.getProperty("env.Framework_Tools_Path");
+ String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
String command;
if (path == null) {
- command = "GenCRC32Section";
+ command = "gencrc32section";
} else {
- command = path + "/" + "GenCRC32Section" ;
+ command = path + "/" + "gencrc32section" ;
}
//
// string line of input files
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenDepexTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenDepexTask.java
index 871394585d..acfc0a8db6 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenDepexTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenDepexTask.java
@@ -51,12 +51,12 @@ public class GenDepexTask extends Task implements EfiDefine {
//
// absolute path of edk tools
//
- String path = project.getProperty("env.Framework_Tools_Path");
+ String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
String command;
if (path == null) {
- command = "GenDepex";
+ command = "gendepex";
} else {
- command = path + "/" + "GenDepex";
+ command = path + "/" + "gendepex";
}
//
// argument of GenDepex tool
@@ -87,7 +87,7 @@ public class GenDepexTask extends Task implements EfiDefine {
//
// command execution success
//
- System.out.println("GenDepex execute succeeded!");
+ System.out.println("GenDepex execute successed!");
} else {
//
@@ -163,4 +163,4 @@ public class GenDepexTask extends Task implements EfiDefine {
public String getPadding() {
return this.padding;
}
-}
+} \ No newline at end of file
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java
index 00712d8bb6..4d4c99625b 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFfsFileTask.java
@@ -114,13 +114,17 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
GenFfsFileTask execute is to generate ffs file according to input section
dscriptive information.
- */
+ **/
public void execute() throws BuildException {
Section sect;
int fileSize;
+ int orgFileSize;
int fileDataSize;
+ int orgFileDataSize;
File ffsFile;
+ File ffsOrgFile;
FfsHeader ffsHeader = new FfsHeader();
+ FfsHeader orgFfsHeader = new FfsHeader();
String ffsSuffix = "";
String outputPath = "";
@@ -128,7 +132,7 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
// Get Fraemwork_Tools_Path
//
Project pj = this.getOwningTarget().getProject();
- path = pj.getProperty("env.Framework_Tools_Path");
+ path = pj.getProperty("env.FRAMEWORK_TOOLS_PATH");
//
// Check does the BaseName, Guid, FileType set value.
@@ -165,14 +169,26 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
System.out.print("General Ffs file: file name is:\n");
System.out.print(outputPath + this.ffsFileGuid + '-' + this.baseName + ffsSuffix);
System.out.print("\n");
-
+
//
- // Create file output stream -- dataBuffer.
- //
+ // Create ffs ORG file. fileName = FfsFileGuid + BaseName + ffsSuffix +
+ // ".org".
+ //
+ ffsOrgFile = new File(outputPath + this.ffsFileGuid + '-' + this.baseName + ffsSuffix + ".org");
+
try {
+ //
+ // Create file output stream -- dataBuffer.
+ //
FileOutputStream dataFs = new FileOutputStream (ffsFile.getAbsolutePath());
DataOutputStream dataBuffer = new DataOutputStream (dataFs);
-
+
+ //
+ // Create org file output stream -- orgDataBuffer
+ //
+ FileOutputStream orgDataFs = new FileOutputStream (ffsOrgFile.getAbsolutePath());
+ DataOutputStream orgDataBuffer = new DataOutputStream (orgDataFs);
+
//
// Search SectionList find earch section and call it's
// ToBuffer function.
@@ -185,7 +201,7 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
//
// The last section don't need 4 byte ffsAligment.
//
- sect.toBuffer((DataOutputStream)dataBuffer);
+ sect.toBuffer((DataOutputStream)dataBuffer, (DataOutputStream) orgDataBuffer);
} catch (Exception e) {
throw new BuildException (e.getMessage());
}
@@ -207,22 +223,40 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
FileInputStream fi = new FileInputStream (ffsFile.getAbsolutePath());
DataInputStream di = new DataInputStream (fi);
di.read(fileBuffer);
- di.close();
-
+ di.close();
+
+ //
+ // create input org stream to read file data
+ //
+ byte[] orgFileBuffer = new byte[(int)ffsOrgFile.length()];
+ FileInputStream ofi = new FileInputStream (ffsOrgFile.getAbsolutePath());
+ DataInputStream odi = new DataInputStream (ofi);
+ odi.read(orgFileBuffer);
+ odi.close();
//
// Add GUID to header struct
//
if (this.ffsFileGuid != null) {
stringToGuid (this.ffsFileGuid, ffsHeader.name);
+ //
+ // Add Guid to org header struct
+ //
+ stringToGuid (this.ffsFileGuid, orgFfsHeader.name);
}
ffsHeader.ffsAttributes = this.attributes;
if ((ffsHeader.fileType = stringToType(this.ffsFileType))== -1) {
throw new BuildException ("FFS_FILE_TYPE unknow!\n");
}
-
-
+
+ //
+ // Copy ffsHeader.ffsAttribute and fileType to orgFfsHeader.ffsAttribute
+ // and fileType
+ //
+ orgFfsHeader.ffsAttributes = ffsHeader.ffsAttributes;
+ orgFfsHeader.fileType = ffsHeader.fileType;
+
//
// Adjust file size. The function is used to tripe the last
// section padding of 4 binary boundary.
@@ -231,15 +265,21 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
if (ffsHeader.fileType != EFI_FV_FILETYPE_RAW) {
fileDataSize = adjustFileSize (fileBuffer);
+ orgFileDataSize = adjustFileSize (orgFileBuffer);
} else {
fileDataSize = fileBuffer.length;
+ orgFileDataSize = orgFileBuffer.length;
}
//
// 1. add header size to file size
//
fileSize = fileDataSize + ffsHeader.getSize();
+ //
+ // add header size to org file size
+ //
+ orgFileSize = orgFileDataSize + ffsHeader.getSize();
if ((ffsHeader.ffsAttributes & FFS_ATTRIB_TAIL_PRESENT) != 0) {
if (ffsHeader.fileType == EFI_FV_FILETYPE_FFS_PAD) {
@@ -256,6 +296,7 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
);
}
fileSize = fileSize + 2;
+ orgFileSize = orgFileSize + 2;
}
//
@@ -264,7 +305,14 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
ffsHeader.ffsFileSize[0] = (byte)(fileSize & 0x00FF);
ffsHeader.ffsFileSize[1] = (byte)((fileSize & 0x00FF00)>>8);
ffsHeader.ffsFileSize[2] = (byte)(((int)fileSize & 0xFF0000)>>16);
-
+
+ //
+ // set file size to org header struct
+ //
+ orgFfsHeader.ffsFileSize[0] = (byte)(orgFileSize & 0x00FF);
+ orgFfsHeader.ffsFileSize[1] = (byte)((orgFileSize & 0x00FF00)>>8);
+ orgFfsHeader.ffsFileSize[2] = (byte)(((int)orgFileSize & 0xFF0000)>>16);
+
//
// Fill in checksums and state, these must be zero for checksumming
//
@@ -272,21 +320,43 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
ffsHeader.structToBuffer(),
ffsHeader.getSize()
);
-
+ //
+ // Fill in org file's header check sum and state
+ //
+ orgFfsHeader.integrityCheck.header = calculateChecksum8 (
+ orgFfsHeader.structToBuffer(),
+ orgFfsHeader.getSize()
+ );
+
if ((this.attributes & FFS_ATTRIB_CHECKSUM) != 0) {
if ((this.attributes & FFS_ATTRIB_TAIL_PRESENT) != 0) {
ffsHeader.integrityCheck.file = calculateChecksum8 (
fileBuffer,
fileDataSize
);
+ //
+ // Add org file header
+ //
+ orgFfsHeader.integrityCheck.file = calculateChecksum8 (
+ orgFileBuffer,
+ orgFileDataSize
+ );
} else {
ffsHeader.integrityCheck.file = calculateChecksum8 (
fileBuffer,
fileDataSize
);
+ //
+ // Add org file header
+ //
+ orgFfsHeader.integrityCheck.file = calculateChecksum8 (
+ orgFileBuffer,
+ orgFileDataSize
+ );
}
} else {
ffsHeader.integrityCheck.file = FFS_FIXED_CHECKSUM;
+ orgFfsHeader.integrityCheck.file = FFS_FIXED_CHECKSUM;
}
//
@@ -295,21 +365,30 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
ffsHeader.ffsState = EFI_FILE_HEADER_CONSTRUCTION |
EFI_FILE_HEADER_VALID |
EFI_FILE_DATA_VALID;
-
-
+ orgFfsHeader.integrityCheck.file = ffsHeader.ffsState;
+
//
// create output stream to first write header data in file, then write sect data in file.
//
FileOutputStream headerFfs = new FileOutputStream (ffsFile.getAbsolutePath());
DataOutputStream ffsBuffer = new DataOutputStream (headerFfs);
-
+
+ FileOutputStream orgHeaderFfs = new FileOutputStream (ffsOrgFile.getAbsolutePath());
+ DataOutputStream orgFfsBuffer = new DataOutputStream (orgHeaderFfs);
+
//
// Add header struct and file data to FFS file
//
ffsBuffer.write(ffsHeader.structToBuffer());
+ orgFfsBuffer.write(orgFfsHeader.structToBuffer());
+
for (int i = 0; i< fileDataSize; i++) {
ffsBuffer.write(fileBuffer[i]);
}
+
+ for (int i = 0; i < orgFileDataSize; i++){
+ orgFfsBuffer.write(orgFileBuffer[i]);
+ }
//
// If there is a tail, then set it
@@ -333,6 +412,9 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
tailByte[1] = (byte)((tailValue & 0xff00)>>8);
ffsBuffer.write(tailByte[0]);
ffsBuffer.write(tailByte[1]);
+
+ orgFfsBuffer.write(tailByte[0]);
+ orgFfsBuffer.write(tailByte[1]);
}
//
@@ -340,6 +422,7 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
// the buffer can't be rewritten to file.
//
ffsBuffer.close();
+ orgFfsBuffer.close();
System.out.print ("Successful create ffs file!\n");
} catch (Exception e) {
throw new BuildException (e.getMessage());
@@ -672,7 +755,7 @@ public class GenFfsFileTask extends Task implements EfiDefine, FfsTypes {
}
if (ffsFileType.equals("EFI_FV_FILETYPE_FREEFORM")) {
- return(byte)EFI_FV_FILETYPE_SECURITY_CORE;
+ return(byte)EFI_FV_FILETYPE_FREEFORM;
}
if (ffsFileType.equals("EFI_FV_FILETYPE_SECURITY_CORE")) {
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFvImageTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFvImageTask.java
index 6f3cd7bd7b..1f5e4ecf6d 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFvImageTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenFvImageTask.java
@@ -14,6 +14,7 @@
**/
package org.tianocore.framework.tasks;
+import java.io.File;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -22,16 +23,6 @@ import org.apache.tools.ant.taskdefs.Execute;
import org.apache.tools.ant.taskdefs.LogStreamHandler;
import org.apache.tools.ant.types.Commandline;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.lang.ProcessBuilder;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
/**
GenFvImageTask
@@ -40,10 +31,6 @@ import java.util.Map;
**/
public class GenFvImageTask extends Task implements EfiDefine{
///
- /// tool name
- ///
- static final private String toolName = "GenFvImage";
- ///
/// The name of input inf file
///
private String infFile="";
@@ -51,15 +38,7 @@ public class GenFvImageTask extends Task implements EfiDefine{
/// The target architecture.
///
private String arch="";
- ///
- /// Output directory
- ///
- private String outputDir = ".";
- ///
- /// argument list
- ///
- LinkedList<String> argList = new LinkedList<String>();
-
+
/**
execute
@@ -68,45 +47,68 @@ public class GenFvImageTask extends Task implements EfiDefine{
**/
public void execute() throws BuildException {
Project project = this.getOwningTarget().getProject();
- String path = project.getProperty("env.Framework_Tools_Path");
- if (path == null) {
+ String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
+ String command = "";
+
+ if (path == null){
path = "";
- } else {
- path += File.separatorChar;
+ }else {
+ path = path + File.separatorChar;
}
-
- if (arch != null && arch.length() > 0) {
- argList.addFirst(path + toolName + "_" + arch);
- } else {
- argList.addFirst(path + toolName);
+
+ if (arch.equalsIgnoreCase("")){
+ command = path + "GenFvImage";
}
-
- ///
- /// lauch the program
- ///
- ProcessBuilder pb = new ProcessBuilder(argList);
- pb.directory(new File(outputDir));
- int exitCode = 0;
+ if (arch.equalsIgnoreCase("ia32")){
+ command = path + "GenFvImage_IA32";
+ }
+ if (arch.equalsIgnoreCase("x64")){
+ command = path + "GenFvImage_X64";
+ }
+ if (arch.equalsIgnoreCase("ipf")){
+ command = path + "GenFvImage_IPF";
+ }
+ String argument = infFile;
+
try {
- Process cmdProc = pb.start();
- InputStreamReader cmdOut = new InputStreamReader(cmdProc.getInputStream());
- char[] buf = new char[1024];
-
- exitCode = cmdProc.waitFor();
- if (exitCode != 0) {
- int len = cmdOut.read(buf, 0, 1024);
- log(new String(buf, 0, len), Project.MSG_ERR);
+
+ Commandline commandLine = new Commandline();
+ commandLine.setExecutable(command);
+ commandLine.createArgument().setLine(argument);
+
+ LogStreamHandler streamHandler = new LogStreamHandler(this,
+ Project.MSG_INFO,
+ Project.MSG_WARN);
+ //
+ // create a execute object and set it's commandline
+ //
+ Execute runner = new Execute(streamHandler,null);
+ runner.setAntRun(project);
+ runner.setCommandline(commandLine.getCommandline());
+ System.out.println(Commandline.toString(commandLine.getCommandline()));
+
+ int revl = -1;
+ //
+ // user execute class call external programs - GenFvImage
+ //
+ revl = runner.execute();
+ //
+ // execute command line success!
+ //
+ if (EFI_SUCCESS == revl){
+ System.out.println("GenFvImage succeeded!");
} else {
- log("GenFvImage - DONE!", Project.MSG_VERBOSE);
+
+ //
+ // execute command line failed!
+ //
+ throw new BuildException("GenFvImage failed !(error =" +
+ Integer.toHexString(revl) + ")");
}
+
} catch (Exception e) {
- throw new BuildException(e.getMessage());
- } finally {
- if (exitCode != 0) {
- throw new BuildException("GenFvImage: failed to generate FV file!");
- }
- }
-
+ System.out.println(e.getMessage());
+ }
}
/**
getInfFile
@@ -126,9 +128,7 @@ public class GenFvImageTask extends Task implements EfiDefine{
@param infFile name of infFile
**/
public void setInfFile(String infFile) {
- this.infFile = infFile;
- argList.add("-I");
- argList.add(infFile);
+ this.infFile = "-I " + infFile;
}
/**
@@ -150,27 +150,5 @@ public class GenFvImageTask extends Task implements EfiDefine{
**/
public void setArch(String arch) {
this.arch = arch;
- }
-
- /**
- getOutputDir
-
- This function is to get output directory.
-
- @return Path of output directory.
- **/
- public String getOutputDir() {
- return outputDir;
- }
-
- /**
- setOutputDir
-
- This function is to set output directory.
-
- @param outputDir The output direcotry.
- **/
- public void setOutputDir(String outputDir) {
- this.outputDir = outputDir;
- }
+ }
} \ No newline at end of file
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenSectionTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenSectionTask.java
index 61aefa6efb..1995d709dd 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenSectionTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GenSectionTask.java
@@ -59,11 +59,11 @@ public class GenSectionTask extends Task implements EfiDefine {
//
// absolute path of efi tools
//
- String path = project.getProperty("env.Framework_Tools_Path");
+ String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
if (path == null) {
- command = "GenSection";
+ command = "gensection";
} else {
- command = path + "/" + "GenSection";
+ command = path + "/" + "gensection";
}
//
// argument of tools
@@ -93,7 +93,7 @@ public class GenSectionTask extends Task implements EfiDefine {
//
// command execution success
//
- System.out.println("gensection succeeded!");
+ System.out.println("gensection successed!");
} else {
//
// command execution fail
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GuidChkTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GuidChkTask.java
index 69feb4e03d..ebccca4673 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GuidChkTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/GuidChkTask.java
@@ -96,7 +96,7 @@ public class GuidChkTask extends Task implements EfiDefine{
//
public void execute() throws BuildException {
Project project = this.getOwningTarget().getProject();
- String path = project.getProperty("env.Framework_Tools_Path");
+ String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
String command;
if (path == null) {
command = "GuidChk";
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/MakeDeps.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/MakeDeps.java
index a90d36225d..c538403b36 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/MakeDeps.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/MakeDeps.java
@@ -74,7 +74,7 @@ public class MakeDeps extends Task {
}
Project prj = this.getOwningTarget().getProject();
- String toolPath = prj.getProperty("env.Framework_Tools_Path");
+ String toolPath = prj.getProperty("env.FRAMEWORK_TOOLS_PATH");
///
/// compose full tool path
///
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SectFile.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SectFile.java
index 35576478d1..b4e153d480 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SectFile.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SectFile.java
@@ -53,7 +53,7 @@ public class SectFile implements Section {
@param Buffer buffer to contain the section file content with alignment
**/
- public void toBuffer (DataOutputStream Buffer){
+ public void toBuffer (DataOutputStream buffer, DataOutputStream orgBuffer){
File sectFile;
byte data;
long fileLen;
@@ -83,7 +83,11 @@ public class SectFile implements Section {
int i = 0;
while (i < fileLen) {
data = In.readByte();
- Buffer.writeByte(data);
+ buffer.writeByte(data);
+ //
+ // Add data to org file
+ //
+ orgBuffer.writeByte(data);
i++;
}
@@ -92,7 +96,11 @@ public class SectFile implements Section {
///
while ((fileLen & 0x03)!= 0) {
fileLen ++;
- Buffer.writeByte(0);
+ buffer.writeByte(0);
+ //
+ // Add data to org file
+ //
+ orgBuffer.writeByte(0);
}
///
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Section.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Section.java
index 3f56eaf0a5..6abee52da3 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Section.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Section.java
@@ -19,5 +19,5 @@ import java.io.DataOutputStream;
Section interface is for geting the contain buffer form compress, tool, and sectFile
**/
public interface Section {
- public void toBuffer (DataOutputStream Buffer);
+ public void toBuffer (DataOutputStream buffer, DataOutputStream orgBuffer);
} \ No newline at end of file
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SetStampTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SetStampTask.java
index af04702b6e..bf0a7544db 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SetStampTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/SetStampTask.java
@@ -46,7 +46,7 @@ public class SetStampTask extends Task implements EfiDefine {
///
/// absolute path of edk tools
///
- String path = project.getProperty("env.Framework_Tools_Path");
+ String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
String command;
if (path == null) {
command = "setstamp";
@@ -82,7 +82,7 @@ public class SetStampTask extends Task implements EfiDefine {
///
/// command execution success
///
- System.out.println("SetStamp execute succeeded!");
+ System.out.println("SetStamp execute successed!");
} else {
///
/// command execution fail
@@ -133,4 +133,4 @@ public class SetStampTask extends Task implements EfiDefine {
return this.timeFile;
}
-}
+} \ No newline at end of file
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/StrGatherTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/StrGatherTask.java
index c136f15511..8368caa4bd 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/StrGatherTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/StrGatherTask.java
@@ -108,12 +108,12 @@ public class StrGatherTask extends Task implements EfiDefine {
///
/// absolute path of efi tools
///
- String path = project.getProperty("env.Framework_Tools_Path");
+ String path = project.getProperty("env.FRAMEWORK_TOOLS_PATH");
String command;
if (path == null) {
- command = "StrGather";
+ command = "strgather";
} else {
- command = path + "/" + "StrGather";
+ command = path + "/" + "strgather";
}
///
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Tool.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Tool.java
index 36b095a6e7..c784a50107 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Tool.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/Tool.java
@@ -39,7 +39,7 @@ public class Tool implements EfiDefine, Section {
@param buffer The buffer to put the result with alignment
**/
- public void toBuffer (DataOutputStream buffer){
+ public void toBuffer (DataOutputStream buffer, DataOutputStream orgBuffer){
File OutputFile;
byte data;
@@ -72,6 +72,10 @@ public class Tool implements EfiDefine, Section {
while (i < fileLen) {
data = In.readByte();
buffer.writeByte(data);
+ //
+ // Add data to org file
+ //
+ orgBuffer.writeByte(data);
i ++;
}
@@ -81,6 +85,7 @@ public class Tool implements EfiDefine, Section {
while ((fileLen & 0x03) != 0) {
fileLen++;
buffer.writeByte(0);
+ orgBuffer.writeByte(0);
}
In.close();
diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/VfrCompilerTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/VfrCompilerTask.java
index dbd796e01e..cf2fe1e476 100644
--- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/VfrCompilerTask.java
+++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/VfrCompilerTask.java
@@ -153,7 +153,7 @@ public class VfrCompilerTask extends Task implements EfiDefine {
**/
public void execute() throws BuildException {
Project project = this.getProject();
- String toolPath= project.getProperty("env.Framework_Tools_Path");
+ String toolPath= project.getProperty("env.FRAMEWORK_TOOLS_PATH");
String command;
if (toolPath == null) {
command = "VfrCompile";
diff --git a/edksetup.bat b/edksetup.bat
index 99a33bc172..a39e35e579 100644
--- a/edksetup.bat
+++ b/edksetup.bat
@@ -62,7 +62,7 @@ if not exist %XMLBEANS_HOME%\lib\saxon8.jar goto no_saxon8
@REM
set WORKSPACE=%CD%
-set Framework_Tools_Path=%WORKSPACE%\Tools\bin
+set FRAMEWORK_TOOLS_PATH=%WORKSPACE%\Tools\bin
set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin;%Framework_Tools_Path%;%PATH%
echo.