diff -r 393b985a50f3 -r 3fb715ff2227 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv2.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv2.java Thu Jul 15 23:28:04 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv2.java Mon Jul 19 21:06:20 2010 -0500 @@ -27,7 +27,7 @@ import com.nokia.cpp.internal.api.utils.ui.WorkbenchUtils; public class BuildContextSBSv2 implements ISBSv2BuildContext { - + private String platform; private String target; private String sbsv2Alias; @@ -261,7 +261,8 @@ } private void setPlatformAndTargetFromOutputPath() { - if (configQueryData.getOutputPathString() == null) { + String pathString = configQueryData.getOutputPathString(); + if (pathString == null || pathString.length() == 0) { platform = ""; target = ""; return; @@ -305,7 +306,33 @@ return configQueryData; } + @Override public ISBSv2ConfigQueryData getConfigQueryData() { return configQueryData; } + + @Override + public String getToolChain() { + Map buildMacros = configQueryData.getBuildMacros(); + if (buildMacros != null) { + // try to figure out the tool chain using macros from Raptor config query + if (buildMacros.containsKey(MACRO_ARM)) { + return TOOLCHAIN_ARM; + } else if (buildMacros.containsKey(MACRO_GCCE)) { + return TOOLCHAIN_GCCE; + } else if (buildMacros.containsKey(MACRO_WINSCW)) { + return TOOLCHAIN_WINSCW; + } + } else { + // if no macros available, use alais name instead + if (sbsv2Alias.toUpperCase().contains(TOOLCHAIN_ARM)) { + return TOOLCHAIN_ARM; + } else if (sbsv2Alias.toUpperCase().contains(TOOLCHAIN_GCCE)) { + return TOOLCHAIN_GCCE; + } else if (sbsv2Alias.toUpperCase().contains(TOOLCHAIN_WINSCW)) { + return TOOLCHAIN_WINSCW; + } + } + return TOOLCHAIN_UNKNOWN; + } }