From module build, exception from module surface area invalid.\r
**/\r
public void execute() throws BuildException {\r
+ this.setTaskName("GenBuild");\r
try {\r
processGenBuild();\r
} catch (PcdAutogenException e) {\r
Map<String, XmlObject> doc = GlobalData.getNativeMsa(msaFile);\r
saq = new SurfaceAreaQuery(doc);\r
moduleId = saq.getMsaHeader();\r
+ moduleId.setMsaFile(msaFile);\r
}\r
\r
String[] producedLibraryClasses = saq.getLibraryClasses("ALWAYS_PRODUCED",null);\r
private void prepareSingleModuleBuild() throws EdkException {\r
//\r
// Find out the package which the module belongs to\r
- // TBD: Enhance it!!!!\r
//\r
PackageIdentification packageId = GlobalData.getPackageForModule(moduleId);\r
GlobalData.refreshPackageIdentification(packageId);\r
//\r
key[4] = ToolDefinitions.TOOLS_DEF_ATTRIBUTE_FLAGS;\r
String cmdFlags = GlobalData.getCommandSetting(key, fpdModuleId);\r
- Set<String> addset = new LinkedHashSet<String>();\r
- Set<String> subset = new LinkedHashSet<String>();\r
- putFlagsToSet(addset, cmdFlags);\r
- getProject().setProperty(cmd[m] + "_FLAGS", getProject().replaceProperties(getFlags(addset, subset)));\r
+ if (cmdFlags != null) \r
+ {\r
+// Set<String> addset = new LinkedHashSet<String>();\r
+// Set<String> subset = new LinkedHashSet<String>();\r
+// putFlagsToSet(addset, cmdFlags);\r
+// getProject().setProperty(cmd[m] + "_FLAGS", getProject().replaceProperties(getFlags(addset, subset)));\r
+ getProject().setProperty(cmd[m] + "_FLAGS", cmdFlags);\r
+ } \r
+ else \r
+ {\r
+ getProject().setProperty(cmd[m] + "_FLAGS", "");\r
+ }\r
+\r
\r
//\r
// Set CC_EXT\r
//\r
// Call AutoGen to generate AutoGen.c and AutoGen.h\r
//\r
- AutoGen autogen = new AutoGen(getProject().getProperty("FV_DIR"), getProject().getProperty("DEST_DIR_DEBUG"), fpdModuleId.getModule(),fpdModuleId.getArch(), saq);\r
+ AutoGen autogen = new AutoGen(getProject().getProperty("FV_DIR"), getProject().getProperty("DEST_DIR_DEBUG"), fpdModuleId.getModule(),fpdModuleId.getArch(), saq, parentId);\r
autogen.genAutogen();\r
\r
//\r
ModuleIdentification[] libinstances = saq.getLibraryInstance(fpdModuleId.getArch());\r
String propertyLibs = "";\r
for (int i = 0; i < libinstances.length; i++) {\r
- propertyLibs += " " + getProject().getProperty("BIN_DIR") + File.separatorChar + libinstances[i].getName() + ".lib";\r
+ propertyLibs += getProject().getProperty("BIN_DIR") + File.separatorChar + libinstances[i].getName() + ".lib" + " ";\r
}\r
getProject().setProperty("LIBS", propertyLibs.replaceAll("(\\\\)", "/"));\r
\r