diff options
Diffstat (limited to 'windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinEnvironmentVariableSupplier.java')
-rw-r--r-- | windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinEnvironmentVariableSupplier.java | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinEnvironmentVariableSupplier.java b/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinEnvironmentVariableSupplier.java deleted file mode 100644 index e759581b15d..00000000000 --- a/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinEnvironmentVariableSupplier.java +++ /dev/null @@ -1,160 +0,0 @@ -package org.eclipse.cdt.msw.build; - - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.cdt.managedbuilder.core.IConfiguration; -import org.eclipse.cdt.managedbuilder.core.IManagedProject; -import org.eclipse.cdt.managedbuilder.envvar.IBuildEnvironmentVariable; -import org.eclipse.cdt.managedbuilder.envvar.IConfigurationEnvironmentVariableSupplier; -import org.eclipse.cdt.managedbuilder.envvar.IEnvironmentVariableProvider; -import org.eclipse.cdt.managedbuilder.envvar.IProjectEnvironmentVariableSupplier; -import org.eclipse.cdt.utils.WindowsRegistry; - -/** - * @author DSchaefer - * - */ -public class WinEnvironmentVariableSupplier - implements IConfigurationEnvironmentVariableSupplier, IProjectEnvironmentVariableSupplier { - - private Map<String, IBuildEnvironmentVariable> envvars; - - private static class WindowsBuildEnvironmentVariable implements IBuildEnvironmentVariable { - - private final String name; - private final String value; - private final int operation; - - public WindowsBuildEnvironmentVariable(String name, String value, int operation) { - this.name = name; - this.value = value; - this.operation = operation; - } - - public String getDelimiter() { - return ";"; - } - - public String getName() { - return name; - } - - public String getValue() { - return value; - } - - public int getOperation() { - return operation; - } - - } - - public IBuildEnvironmentVariable getVariable(String variableName, - IManagedProject project, IEnvironmentVariableProvider provider) { - if (envvars == null) - initvars(); - return envvars.get(variableName); - } - - public IBuildEnvironmentVariable getVariable(String variableName, - IConfiguration configuration, IEnvironmentVariableProvider provider) { - if (envvars == null) - initvars(); - return envvars.get(variableName); - } - - public IBuildEnvironmentVariable[] getVariables(IManagedProject project, - IEnvironmentVariableProvider provider) { - if (envvars == null) - initvars(); - return envvars.values().toArray(new IBuildEnvironmentVariable[envvars.size()]); - } - - public IBuildEnvironmentVariable[] getVariables( - IConfiguration configuration, IEnvironmentVariableProvider provider) { - if (envvars == null) - initvars(); - return envvars.values().toArray(new IBuildEnvironmentVariable[envvars.size()]); - } - - private void addvar(IBuildEnvironmentVariable var) { - envvars.put(var.getName(), var); - } - - public static String getSDKDir() { - WindowsRegistry reg = WindowsRegistry.getRegistry(); - - String[] keys = { - "SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.1", - "SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.0A", - "SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.0", - }; - - for (int i = 0; i < keys.length; ++i) { - String sdkDir = reg.getLocalMachineValue(keys[i], "InstallationFolder"); - if (sdkDir != null) - return sdkDir; - } - - return null; - } - - public static String getVCDir() { - WindowsRegistry reg = WindowsRegistry.getRegistry(); - - String vcDir = reg.getLocalMachineValue("SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7", "9.0"); - if (vcDir != null) - return vcDir; - - // Try full SDK with compiler - String sdkDir = getSDKDir(); - if (sdkDir != null) - return sdkDir.concat("VC\\"); - - return null; - } - - public static String getVSDir() { - WindowsRegistry reg = WindowsRegistry.getRegistry(); - return reg.getLocalMachineValue("SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VS7", "9.0"); - } - - private void initvars() { - envvars = new HashMap<String, IBuildEnvironmentVariable>(); - - // The SDK Location - String sdkDir = getSDKDir(); - if (sdkDir == null) - return; - - String vcDir = getVCDir(); - - // INCLUDE - StringBuffer buff = new StringBuffer(); - buff.append(vcDir).append("Include;"); - buff.append(vcDir).append("Include\\Sys;"); - buff.append(sdkDir).append("Include;"); - buff.append(sdkDir).append("Include\\gl;"); - addvar(new WindowsBuildEnvironmentVariable("INCLUDE", buff.toString(), IBuildEnvironmentVariable.ENVVAR_PREPEND)); - - // LIB - buff = new StringBuffer(); - buff.append(vcDir).append("Lib;"); - buff.append(sdkDir).append("Lib;"); - addvar(new WindowsBuildEnvironmentVariable("LIB", buff.toString(), IBuildEnvironmentVariable.ENVVAR_PREPEND)); - - // PATH - buff = new StringBuffer(); - - String vsDir = getVSDir(); - if (vsDir != null) - buff.append(vsDir).append("Common7\\IDE;"); - - buff.append(vcDir).append("Bin;"); - buff.append(sdkDir).append("Bin;"); - addvar(new WindowsBuildEnvironmentVariable("PATH", buff.toString(), IBuildEnvironmentVariable.ENVVAR_PREPEND)); - } - -} |