]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/ModuleBuildFileGenerator.java
Fixes for Linux builds.
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / ModuleBuildFileGenerator.java
index b4f34f762a4344f6465c0d8fd4b6612365098bb6..08f49478aea6c1084a632223c83b7260a3df4d1d 100644 (file)
@@ -402,6 +402,20 @@ public class ModuleBuildFileGenerator {
 //        project.setProperty("LIBS", propertyLibs.replaceAll("(\\\\)", "/"));\r
     }\r
     \r
+     /**\r
+      Return the name of the directory that corresponds to the architecture.\r
+      This is a translation from the XML Schema tag to a directory that\r
+      corresponds to our directory name coding convention.\r
+     \r
+      **/\r
+    private String archDir(String arch) {\r
+        return arch.replaceFirst("X64", "x64")\r
+                   .replaceFirst("IPF", "Ipf")\r
+                   .replaceFirst("IA32", "Ia32")\r
+                   .replaceFirst("ARM", "Arm")\r
+                   .replaceFirst("EBC", "Ebc");\r
+    }\r
+\r
     /**\r
       Generate the build source files elements for BaseName_build.xml. \r
       \r
@@ -413,6 +427,7 @@ public class ModuleBuildFileGenerator {
         // Prepare the includes: PackageDependencies and Output debug direactory\r
         //\r
         Set<String> includes = new LinkedHashSet<String>();\r
+        String arch = project.getProperty("ARCH");\r
         \r
         //\r
         // WORKSPACE\r
@@ -423,7 +438,7 @@ public class ModuleBuildFileGenerator {
         // Module iteself\r
         //\r
         includes.add("${MODULE_DIR}");\r
-        includes.add("${MODULE_DIR}" + File.separatorChar + "${ARCH}");\r
+        includes.add("${MODULE_DIR}" + File.separatorChar + archDir(arch));\r
         \r
         //\r
         // Packages in PackageDenpendencies\r
@@ -433,7 +448,7 @@ public class ModuleBuildFileGenerator {
             GlobalData.refreshPackageIdentification(packageDependencies[i]);\r
             File packageFile = packageDependencies[i].getSpdFile();\r
             includes.add(packageFile.getParent() + File.separatorChar + "Include");\r
-            includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + "${ARCH}");\r
+            includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + archDir(arch));\r
         }\r
 \r
         //\r
@@ -447,7 +462,7 @@ public class ModuleBuildFileGenerator {
                 GlobalData.refreshPackageIdentification(libraryPackageDependencies[j]);\r
                 File packageFile = libraryPackageDependencies[j].getSpdFile();\r
                 includes.add(packageFile.getParent() + File.separatorChar + "Include");\r
-                includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + "${ARCH}");\r
+                includes.add(packageFile.getParent() + File.separatorChar + "Include" + File.separatorChar + archDir(arch));\r
             }\r
             SurfaceAreaQuery.pop();\r
         }\r
@@ -457,7 +472,7 @@ public class ModuleBuildFileGenerator {
         // The package which the module belongs to\r
         // TBD\r
         includes.add(fpdModuleId.getModule().getPackage().getPackageDir() + File.separatorChar + "Include");\r
-        includes.add(fpdModuleId.getModule().getPackage().getPackageDir() + File.separatorChar + "Include" + File.separatorChar + "${ARCH}");\r
+        includes.add(fpdModuleId.getModule().getPackage().getPackageDir() + File.separatorChar + "Include" + File.separatorChar + archDir(arch));\r
 \r
         //\r
         // Debug files output directory\r