mirror of https://github.com/acidanthera/audk.git
- Fixed EDKT513 by adding existing section files into the dependency check of genffsfile tool;
- Fixed EDKT514 by removing the generation and build of AutoGen.c for library git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2295 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ff7bc6c425
commit
66a9a6f8e9
|
@ -186,14 +186,18 @@ public class FfsProcess {
|
||||||
//
|
//
|
||||||
Element outofdateEle = document.createElement("OnDependency");
|
Element outofdateEle = document.createElement("OnDependency");
|
||||||
Element sourceEle = document.createElement("sourcefiles");
|
Element sourceEle = document.createElement("sourcefiles");
|
||||||
String[] result = new String[sectionList.size()];
|
Vector<String> sections = new Vector<String>();
|
||||||
for (int i = 0; i < sectionList.size(); i++) {
|
for (int i = 0; i < sectionList.size(); i++) {
|
||||||
result[i] = (String) sectionList.get(i);
|
String section = (String) sectionList.get(i);
|
||||||
|
if (isSectionType(section)) {
|
||||||
|
sections.addElement(section);
|
||||||
|
}
|
||||||
Element pathEle = document.createElement("file");
|
Element pathEle = document.createElement("file");
|
||||||
pathEle.setAttribute("name", "${DEST_DIR_OUTPUT}" + File.separatorChar + basename
|
pathEle.setAttribute("name", getSectionFile(basename, section));
|
||||||
+ getSectionExt(result[i]));
|
|
||||||
sourceEle.appendChild(pathEle);
|
sourceEle.appendChild(pathEle);
|
||||||
}
|
}
|
||||||
|
String[] result = sections.toArray(new String[sections.size()]);
|
||||||
|
|
||||||
outofdateEle.appendChild(sourceEle);
|
outofdateEle.appendChild(sourceEle);
|
||||||
Element targetEle = document.createElement("targetfiles");
|
Element targetEle = document.createElement("targetfiles");
|
||||||
Element fileEle = document.createElement("file");
|
Element fileEle = document.createElement("file");
|
||||||
|
@ -370,14 +374,17 @@ public class FfsProcess {
|
||||||
|
|
||||||
if (fileName == null) {
|
if (fileName == null) {
|
||||||
list.addElement(type);
|
list.addElement(type);
|
||||||
|
} else {
|
||||||
|
list.addElement(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode == MODE_GUID_DEFINED) {
|
if (mode == MODE_GUID_DEFINED) {
|
||||||
//
|
//
|
||||||
// <input file="${DEST_DIR_OUTPUT}\Bds.pe32"/>
|
// <input file="${DEST_DIR_OUTPUT}\Bds.pe32"/>
|
||||||
//
|
//
|
||||||
Element ele = doc.createElement("input");
|
Element ele = doc.createElement("input");
|
||||||
if (fileName == null) {
|
if (fileName == null) {
|
||||||
ele.setAttribute("file", "${DEST_DIR_OUTPUT}" + File.separatorChar + basename + getSectionExt(type));
|
ele.setAttribute("file", getSectionFile(basename, type));
|
||||||
} else {
|
} else {
|
||||||
ele.setAttribute("file", fileName);
|
ele.setAttribute("file", fileName);
|
||||||
}
|
}
|
||||||
|
@ -388,7 +395,7 @@ public class FfsProcess {
|
||||||
//
|
//
|
||||||
Element ele = doc.createElement("sectFile");
|
Element ele = doc.createElement("sectFile");
|
||||||
if (fileName == null) {
|
if (fileName == null) {
|
||||||
ele.setAttribute("fileName", "${DEST_DIR_OUTPUT}" + File.separatorChar + basename + getSectionExt(type));
|
ele.setAttribute("fileName", getSectionFile(basename, type));
|
||||||
} else {
|
} else {
|
||||||
ele.setAttribute("fileName", fileName);
|
ele.setAttribute("fileName", fileName);
|
||||||
}
|
}
|
||||||
|
@ -402,13 +409,22 @@ public class FfsProcess {
|
||||||
@param type Section type
|
@param type Section type
|
||||||
@return Corresponding section file extension
|
@return Corresponding section file extension
|
||||||
**/
|
**/
|
||||||
private String getSectionExt(String type) {
|
private String getSectionFile(String basename, String type) {
|
||||||
for (int i = 0; i < sectionExt.length; i++) {
|
for (int i = 0; i < sectionExt.length; i++) {
|
||||||
if (sectionExt[i][0].equalsIgnoreCase(type)) {
|
if (sectionExt[i][0].equalsIgnoreCase(type)) {
|
||||||
return sectionExt[i][1];
|
return "${DEST_DIR_OUTPUT}" + File.separatorChar + basename + sectionExt[i][1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ".sec";
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isSectionType(String type) {
|
||||||
|
for (int i = 0; i < sectionExt.length; i++) {
|
||||||
|
if (sectionExt[i][0].equalsIgnoreCase(type)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -423,7 +423,8 @@ public class ModuleBuildFileGenerator {
|
||||||
//
|
//
|
||||||
// Parse AutoGen.c & AutoGen.h
|
// Parse AutoGen.c & AutoGen.h
|
||||||
//
|
//
|
||||||
if ( ! fpdModuleId.getModule().getName().equalsIgnoreCase("Shell")) {
|
if (!fpdModuleId.getModule().isLibrary()
|
||||||
|
&& !fpdModuleId.getModule().getName().equalsIgnoreCase("Shell")) {
|
||||||
fileProcess.parseFile(project.getProperty("DEST_DIR_DEBUG") + File.separatorChar + "AutoGen.c", null, root, false);
|
fileProcess.parseFile(project.getProperty("DEST_DIR_DEBUG") + File.separatorChar + "AutoGen.c", null, root, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -673,10 +673,6 @@ public class AutoGen {
|
||||||
fileBuffer.append(ToolDefinitions.LINE_SEPARATOR);
|
fileBuffer.append(ToolDefinitions.LINE_SEPARATOR);
|
||||||
fileBuffer.append(this.myPcdAutogen.getCAutoGenString());
|
fileBuffer.append(this.myPcdAutogen.getCAutoGenString());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!saveFile(outputPath + File.separatorChar + "AutoGen.c", fileBuffer)) {
|
|
||||||
throw new AutoGenException("Failed to generate AutoGen.c !!!");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue