From: jwang36 Date: Fri, 8 Dec 2006 08:14:10 +0000 (+0000) Subject: Fixed EDKT482. Added support for multiple msa files in the same directory. X-Git-Tag: edk2-stable201903~23798 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=c340a28e277f524698ff42ce631f277583772b65;hp=c587fa4b280c7d2439729a8d4f20784e95d1c9cb Fixed EDKT482. Added support for multiple msa files in the same directory. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2079 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/EdkModulePkg/Application/HelloWorld/HelloWorld.msa b/EdkModulePkg/Application/HelloWorld/HelloWorld.msa index ca75959684..85e2db15d4 100644 --- a/EdkModulePkg/Application/HelloWorld/HelloWorld.msa +++ b/EdkModulePkg/Application/HelloWorld/HelloWorld.msa @@ -1,7 +1,7 @@ - Hello World UEFI Application + Hello_World_UEFI_Application UEFI_APPLICATION 6987936E-ED34-44db-AE97-1FA5E4ED2116 1.0 @@ -48,4 +48,4 @@ UefiMain - \ No newline at end of file + diff --git a/Tools/Java/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java b/Tools/Java/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java index 3d17befe19..84e799d00c 100644 --- a/Tools/Java/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java +++ b/Tools/Java/Source/GenBuild/org/tianocore/build/FrameworkBuildTask.java @@ -207,11 +207,10 @@ public class FrameworkBuildTask extends Task{ // If find more than one FPD files, report error. // File buildFile = null; - if (msaFiles.size() > 1) { - throw new BuildException("Found " + msaFiles.size() + " MSA files in current dir. "); - } else if (msaFiles.size() == 1 && activePlatform == null) { - throw new BuildException("If trying to build a single module, please set ACTIVE_PLATFORM in file [" + targetFilename + "]. "); - } else if (msaFiles.size() == 1 && activePlatform != null) { + if (msaFiles.size() > 0) { + if (activePlatform == null) { + throw new BuildException("If trying to build a single module, please set ACTIVE_PLATFORM in file [" + targetFilename + "]. "); + } // // Build the single module // @@ -278,17 +277,21 @@ public class FrameworkBuildTask extends Task{ } File tmpFile = new File(GlobalData.getWorkspacePath() + File.separatorChar + activePlatform); EdkLog.log(this, "Using the FPD file [" + tmpFile.getPath() + "] for the active platform. "); - EdkLog.log(this, "Processing the MSA file [" + buildFile.getPath() + "] ..>> "); - GenBuildTask genBuildTask = new GenBuildTask(); - genBuildTask.setSingleModuleBuild(true); - genBuildTask.setType(type); - getProject().setProperty("PLATFORM_FILE", activePlatform); - if( !multithread) { - originalProperties.put("PLATFORM_FILE", activePlatform); + + File[] moduleFiles = msaFiles.toArray(new File[msaFiles.size()]); + for (int i = 0; i < moduleFiles.length; ++i) { + EdkLog.log(this, "Processing the MSA file [" + moduleFiles[i].getPath() + "] ..>> "); + GenBuildTask genBuildTask = new GenBuildTask(); + genBuildTask.setSingleModuleBuild(true); + genBuildTask.setType(type); + getProject().setProperty("PLATFORM_FILE", activePlatform); + if( !multithread) { + originalProperties.put("PLATFORM_FILE", activePlatform); + } + genBuildTask.setProject(getProject()); + genBuildTask.setMsaFile(moduleFiles[i]); + genBuildTask.perform(); } - genBuildTask.setProject(getProject()); - genBuildTask.setMsaFile(buildFile); - genBuildTask.perform(); } } diff --git a/Tools/Java/Source/GenBuild/org/tianocore/build/GenBuildTask.java b/Tools/Java/Source/GenBuild/org/tianocore/build/GenBuildTask.java index 389b8f12b1..249ca8328d 100644 --- a/Tools/Java/Source/GenBuild/org/tianocore/build/GenBuildTask.java +++ b/Tools/Java/Source/GenBuild/org/tianocore/build/GenBuildTask.java @@ -253,6 +253,10 @@ public class GenBuildTask extends Ant { } } + if (archList.length == 0) { + EdkLog.log(this, EdkLog.EDK_WARNING, "Warning: " + moduleId + " was not found in current platform FPD file!\n"); + } + for (int k = 0; k < archList.length; k++) { getProject().setProperty("ARCH", archList[k]); @@ -422,7 +426,7 @@ public class GenBuildTask extends Ant { getProject().setProperty("VERSION", moduleId.getVersion()); getProject().setProperty("MODULE_TYPE", moduleId.getModuleType()); getProject().setProperty("MODULE_DIR", moduleId.getMsaFile().getParent().replaceAll("(\\\\)", "/")); - getProject().setProperty("MODULE_RELATIVE_DIR", moduleId.getModuleRelativePath().replaceAll("(\\\\)", "/")); + getProject().setProperty("MODULE_RELATIVE_DIR", moduleId.getModuleRelativePath().replaceAll("(\\\\)", "/") + File.separatorChar + moduleId.getName()); // // SUBSYSTEM