X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FGenBuild%2Forg%2Ftianocore%2Fbuild%2FModuleBuildFileGenerator.java;h=08f49478aea6c1084a632223c83b7260a3df4d1d;hp=7d8bf8b59e11d64d8df5937d70c2c0969666a71e;hb=a33f3dd1783f7d8d824ef858b18573f9f0ccdd78;hpb=de4bb9f6edc1db82e0616b24e6685b27d2b66061 diff --git a/Tools/Source/GenBuild/org/tianocore/build/ModuleBuildFileGenerator.java b/Tools/Source/GenBuild/org/tianocore/build/ModuleBuildFileGenerator.java index 7d8bf8b59e..08f49478ae 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/ModuleBuildFileGenerator.java +++ b/Tools/Source/GenBuild/org/tianocore/build/ModuleBuildFileGenerator.java @@ -221,7 +221,6 @@ public class ModuleBuildFileGenerator { xformer.setOutputProperty(OutputKeys.INDENT, "yes"); xformer.transform(source, result); } catch (Exception ex) { - ex.printStackTrace(); throw new BuildException("Module [" + fpdModuleId.getModule().getName() + "] generating build file failed.\n" + ex.getMessage()); } } @@ -403,6 +402,20 @@ public class ModuleBuildFileGenerator { // project.setProperty("LIBS", propertyLibs.replaceAll("(\\\\)", "/")); } + /** + Return the name of the directory that corresponds to the architecture. + This is a translation from the XML Schema tag to a directory that + corresponds to our directory name coding convention. + + **/ + private String archDir(String arch) { + return arch.replaceFirst("X64", "x64") + .replaceFirst("IPF", "Ipf") + .replaceFirst("IA32", "Ia32") + .replaceFirst("ARM", "Arm") + .replaceFirst("EBC", "Ebc"); + } + /** Generate the build source files elements for BaseName_build.xml. @@ -414,6 +427,7 @@ public class ModuleBuildFileGenerator { // Prepare the includes: PackageDependencies and Output debug direactory // Set includes = new LinkedHashSet(); + String arch = project.getProperty("ARCH"); // // WORKSPACE @@ -424,7 +438,7 @@ public class ModuleBuildFileGenerator { // Module iteself // includes.add("${MODULE_DIR}"); - includes.add("${MODULE_DIR}" + File.separatorChar + "${ARCH}"); + includes.add("${MODULE_DIR}" + File.separatorChar + archDir(arch)); // // Packages in PackageDenpendencies @@ -434,7 +448,7 @@ public class ModuleBuildFileGenerator { GlobalData.refreshPackageIdentification(packageDependencies[i]); File packageFile = packageDependencies[i].getSpdFile(); includes.add(packageFile.getParent() + File.separatorChar + "Include"); - includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + "${ARCH}"); + includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + archDir(arch)); } // @@ -448,7 +462,7 @@ public class ModuleBuildFileGenerator { GlobalData.refreshPackageIdentification(libraryPackageDependencies[j]); File packageFile = libraryPackageDependencies[j].getSpdFile(); includes.add(packageFile.getParent() + File.separatorChar + "Include"); - includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + "${ARCH}"); + includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + archDir(arch)); } SurfaceAreaQuery.pop(); } @@ -458,7 +472,7 @@ public class ModuleBuildFileGenerator { // The package which the module belongs to // TBD includes.add(fpdModuleId.getModule().getPackage().getPackageDir() + File.separatorChar + "Include"); - includes.add(fpdModuleId.getModule().getPackage().getPackageDir() + File.separatorChar + "Include" + File.separatorChar + "${ARCH}"); + includes.add(fpdModuleId.getModule().getPackage().getPackageDir() + File.separatorChar + "Include" + File.separatorChar + archDir(arch)); // // Debug files output directory @@ -550,7 +564,7 @@ public class ModuleBuildFileGenerator { return ; } if (fp.initSections(ffsKeyword, project, fpdModuleId)) { - String targetFilename = fpdModuleId.getModule().getGuid() + "-" + fpdModuleId.getModule().getName() + FpdParserTask.getSuffix(fpdModuleId.getModule().getModuleType()); + String targetFilename = fpdModuleId.getModule().getGuid() + "-" + "${BASE_NAME}" + FpdParserTask.getSuffix(fpdModuleId.getModule().getModuleType()); String[] list = fp.getGenSectionElements(document, "${BASE_NAME}", fpdModuleId.getModule().getGuid(), targetFilename); for (int i = 0; i < list.length; i++) {