From c639781ef01dcfa4a66ac00cc0eb79bb34ef911b Mon Sep 17 00:00:00 2001 From: wuyizhong Date: Mon, 16 Oct 2006 09:24:08 +0000 Subject: Support two more attribute LIBPATH and INCLUDEPATH in tools_def file. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1761 6f19259b-4bc3-4df7-8a09-765794883524 --- .../cpptasks/userdefine/CommandLineUserDefine.java | 48 ++++++++++++++-------- 1 file changed, 30 insertions(+), 18 deletions(-) (limited to 'Tools/Java/Source/Cpptasks/net/sf/antcontrib/cpptasks') diff --git a/Tools/Java/Source/Cpptasks/net/sf/antcontrib/cpptasks/userdefine/CommandLineUserDefine.java b/Tools/Java/Source/Cpptasks/net/sf/antcontrib/cpptasks/userdefine/CommandLineUserDefine.java index f9177cfb62..3ed6c9652f 100644 --- a/Tools/Java/Source/Cpptasks/net/sf/antcontrib/cpptasks/userdefine/CommandLineUserDefine.java +++ b/Tools/Java/Source/Cpptasks/net/sf/antcontrib/cpptasks/userdefine/CommandLineUserDefine.java @@ -45,8 +45,6 @@ public class CommandLineUserDefine { String outputDelimiter = null; - private static String pathName = null; - public void command(CCTask cctask, UserDefineDef userdefine) { boolean isGccCommand = userdefine.getFamily().equalsIgnoreCase("GCC"); File workdir; @@ -222,30 +220,48 @@ public class CommandLineUserDefine { Environment newEnv = new Environment(); + // + // Prepare for environment variable PATH + // if (userdefine.getDpath() != null && userdefine.getDpath().trim().length() != 0) { - String existPath = System.getenv(getPathName("PATH")); + String pathName = getPathName("PATH"); + String existPath = System.getenv(pathName); Variable var = new Variable(); - var.setKey(getPathName("PATH")); + var.setKey(pathName); var.setPath(new Path(project, userdefine.getDpath() + ";" + existPath)); newEnv.addVariable(var); } + // + // Prepare for environment variable LIB + // if (userdefine.getLibpath() != null && userdefine.getLibpath().trim().length() != 0) { - String existPath = System.getenv(getPathName("LIB")); - + String pathName = getPathName("LIB"); + String existPath = System.getenv(pathName); Variable var = new Variable(); - var.setKey(getPathName("LIB")); - var.setPath(new Path(project, userdefine.getLibpath() + ";" + existPath)); + var.setKey(pathName); + if (existPath == null) { + var.setPath(new Path(project, userdefine.getLibpath())); + } else { + var.setPath(new Path(project, userdefine.getLibpath() + ";" + existPath)); + } newEnv.addVariable(var); } + // + // Prepare for environment variable INCLUDE + // if (userdefine.getInclude() != null && userdefine.getInclude().trim().length() != 0) { - String existPath = System.getenv(getPathName("INCLUDE")); - + String pathName = getPathName("INCLUDE"); + String existPath = System.getenv(pathName); Variable var = new Variable(); - var.setKey(getPathName("INCLUDE")); - var.setPath(new Path(project, userdefine.getInclude() + ";" + existPath)); + var.setKey(pathName); + if (existPath == null) { + var.setPath(new Path(project, userdefine.getInclude())); + } else { + var.setPath(new Path(project, userdefine.getInclude() + ";" + existPath)); + } newEnv.addVariable(var); } @@ -259,19 +275,15 @@ public class CommandLineUserDefine { } private String getPathName(String variableName) { - if (pathName != null) { - return pathName; - } Map allEnv = System.getenv(); Iterator iter = allEnv.keySet().iterator(); while (iter.hasNext()) { String key = (String)iter.next(); if(key.equalsIgnoreCase(variableName)) { - pathName = key; - break ; + return key; } } - return pathName; + return variableName; } protected int runCommand(CCTask task, File workingDir, String[] cmdline, Environment env) -- cgit v1.2.3