diff options
author | Andrew Gvozdev | 2013-03-10 11:21:32 +0000 |
---|---|---|
committer | Andrew Gvozdev | 2013-03-10 11:46:12 +0000 |
commit | 180b19205413a0d73baf1a19adf98c816b38d3fb (patch) | |
tree | fb2186b8701c4081f8f42b40659925897538a219 /build/org.eclipse.cdt.managedbuilder.gnu.ui | |
parent | 2bccd664165de845640fe615a7c5b1f0b87995e9 (diff) | |
download | org.eclipse.cdt-180b19205413a0d73baf1a19adf98c816b38d3fb.tar.gz org.eclipse.cdt-180b19205413a0d73baf1a19adf98c816b38d3fb.tar.xz org.eclipse.cdt-180b19205413a0d73baf1a19adf98c816b38d3fb.zip |
bug 357442: Tidy EnvironmentVariableManagerToolChain
Diffstat (limited to 'build/org.eclipse.cdt.managedbuilder.gnu.ui')
-rw-r--r-- | build/org.eclipse.cdt.managedbuilder.gnu.ui/src/org/eclipse/cdt/managedbuilder/gnu/cygwin/IsGnuCygwinToolChainSupported.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.gnu.ui/src/org/eclipse/cdt/managedbuilder/gnu/cygwin/IsGnuCygwinToolChainSupported.java b/build/org.eclipse.cdt.managedbuilder.gnu.ui/src/org/eclipse/cdt/managedbuilder/gnu/cygwin/IsGnuCygwinToolChainSupported.java index 9a2fd648827..21998a342dc 100644 --- a/build/org.eclipse.cdt.managedbuilder.gnu.ui/src/org/eclipse/cdt/managedbuilder/gnu/cygwin/IsGnuCygwinToolChainSupported.java +++ b/build/org.eclipse.cdt.managedbuilder.gnu.ui/src/org/eclipse/cdt/managedbuilder/gnu/cygwin/IsGnuCygwinToolChainSupported.java @@ -11,9 +11,15 @@ *******************************************************************************/ package org.eclipse.cdt.managedbuilder.gnu.cygwin; +import org.eclipse.cdt.core.envvar.IEnvironmentVariable; +import org.eclipse.cdt.core.envvar.IEnvironmentVariableManager; +import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.internal.core.Cygwin; +import org.eclipse.cdt.internal.core.envvar.EnvironmentVariableManager; +import org.eclipse.cdt.managedbuilder.core.IConfiguration; import org.eclipse.cdt.managedbuilder.core.IManagedIsToolChainSupported; import org.eclipse.cdt.managedbuilder.core.IToolChain; +import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.eclipse.cdt.managedbuilder.internal.envvar.EnvironmentVariableManagerToolChain; import org.osgi.framework.Version; @@ -27,8 +33,17 @@ public class IsGnuCygwinToolChainSupported implements IManagedIsToolChainSupport @Override public boolean isSupported(IToolChain toolChain, Version version, String instance) { - String envPath = EnvironmentVariableManagerToolChain.getDefault().getVariableInConfigurationContext(ENV_PATH, toolChain, true); + IConfiguration cfg = toolChain.getParent(); + ICConfigurationDescription cfgDescription = cfg != null ? ManagedBuildManager.getDescriptionForConfiguration(cfg) : null; + + IEnvironmentVariableManager envMngr; + if (cfgDescription != null) { + envMngr = EnvironmentVariableManager.getDefault(); + } else { + envMngr = new EnvironmentVariableManagerToolChain(toolChain); + } + IEnvironmentVariable var = envMngr.getVariable(ENV_PATH, cfgDescription, true); + String envPath = var != null ? var.getValue() : null; return Cygwin.isAvailable(envPath); } - } |