]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/Cpptasks/net/sf/antcontrib/cpptasks/userdefine/CommandLineUserDefine.java
Update cpptaks to support LIBPATH and INCLUDEPATH which will defined in TOOLS_DEF...
[mirror_edk2.git] / Tools / Java / Source / Cpptasks / net / sf / antcontrib / cpptasks / userdefine / CommandLineUserDefine.java
index 56e82de188c38130a83f3895521e4a36e8b6d5f9..f9177cfb62158c8bed8719700995d4336524b615 100644 (file)
@@ -220,20 +220,36 @@ public class CommandLineUserDefine {
 //        }\r
 //        project.log(logLine.toString(), Project.MSG_VERBOSE);\r
 \r
-        int retval = 0;\r
+        Environment newEnv = new Environment();\r
         \r
-        if (userdefine.getDpath() == null || userdefine.getDpath().trim().length() == 0) {\r
-            retval = runCommand(cctask, workdir, cmd, null);\r
-        } else {\r
-            String existPath = System.getenv(getPathName());\r
-            Environment newEnv = new Environment();\r
+        if (userdefine.getDpath() != null && userdefine.getDpath().trim().length() != 0) {\r
+            String existPath = System.getenv(getPathName("PATH"));\r
+            \r
             Variable var = new Variable();\r
-            var.setKey(getPathName());\r
+            var.setKey(getPathName("PATH"));\r
             var.setPath(new Path(project, userdefine.getDpath() + ";" + existPath));\r
             newEnv.addVariable(var);\r
-            retval = runCommand(cctask, workdir, cmd, newEnv);\r
         }\r
         \r
+        if (userdefine.getLibpath() != null && userdefine.getLibpath().trim().length() != 0) {\r
+            String existPath = System.getenv(getPathName("LIB"));\r
+            \r
+            Variable var = new Variable();\r
+            var.setKey(getPathName("LIB"));\r
+            var.setPath(new Path(project, userdefine.getLibpath() + ";" + existPath));\r
+            newEnv.addVariable(var);\r
+        }\r
+        \r
+        if (userdefine.getInclude() != null && userdefine.getInclude().trim().length() != 0) {\r
+            String existPath = System.getenv(getPathName("INCLUDE"));\r
+            \r
+            Variable var = new Variable();\r
+            var.setKey(getPathName("INCLUDE"));\r
+            var.setPath(new Path(project, userdefine.getInclude() + ";" + existPath));\r
+            newEnv.addVariable(var);\r
+        }\r
+        \r
+        int retval = runCommand(cctask, workdir, cmd, newEnv);\r
 \r
         if (retval != 0) {\r
             throw new BuildException(userdefine.getCmd()\r
@@ -242,7 +258,7 @@ public class CommandLineUserDefine {
         }\r
     }\r
     \r
-    private String getPathName() {\r
+    private String getPathName(String variableName) {\r
         if (pathName != null) {\r
             return pathName;\r
         }\r
@@ -250,7 +266,7 @@ public class CommandLineUserDefine {
         Iterator iter = allEnv.keySet().iterator();\r
         while (iter.hasNext()) {\r
             String key = (String)iter.next();\r
-            if(key.equalsIgnoreCase("PATH")) {\r
+            if(key.equalsIgnoreCase(variableName)) {\r
                 pathName = key;\r
                 break ;\r
             }\r