# HG changeset patch # User timkelly # Date 1282944878 18000 # Node ID 6f11f5393a5c74dfb38470bd7cfc57a512b81103 # Parent a27f1d43992b24477aaf4864004b01eeac1335b4 for gcce and armv5 based targets for sbsv2, if the compiler prefix does not exist on disk for a particular configuraiton, attempt to perform a raptor query to reubuild the config data. diff -r a27f1d43992b -r 6f11f5393a5c 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 Fri Aug 27 14:53:15 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv2.java Fri Aug 27 16:34:38 2010 -0500 @@ -142,6 +142,9 @@ if (sbsv2Alias.toUpperCase().contains(TOOLCHAIN_GCCE) || sbsv2Alias.toUpperCase().contains(TOOLCHAIN_ARM)) { if (configQueryData != null) { + if (configQueryData.getBuildPrefix() != null && !(new File(configQueryData.getBuildPrefix()).exists())){ + this.configQueryData = setConfigQueryData(sdk, getSBSv2Alias()); + } return new Path(configQueryData.getBuildPrefix()); } } @@ -160,7 +163,7 @@ public List getCompilerPreincludeDefines() { IPath prefixFile = getCompilerPrefixFile(); - if (prefixFile == null || !prefixFile.toFile().exists()) { + if (prefixFile == null) { return getCachedData().getCompilerMacros(null); } @@ -391,11 +394,15 @@ */ public IPath getPrefixFromVariantCfg(){ ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER)); + if (sbsv2BldInfo.getPrefixFromVariantCfg().toOSString().length() == 0){ + return null; + } return sbsv2BldInfo.getPrefixFromVariantCfg(); } public List getBuildMacros() { ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER)); + Map buildMacroMap = sbsv2BldInfo.getBuildMacros(getSBSv2Alias()); List defines = new ArrayList(); for (String macroName : buildMacroMap.keySet()){ diff -r a27f1d43992b -r 6f11f5393a5c core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContextDataCache.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContextDataCache.java Fri Aug 27 14:53:15 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContextDataCache.java Fri Aug 27 16:34:38 2010 -0500 @@ -159,7 +159,7 @@ boolean buildCache = false; - if (hrhFileInfo == null) { + if (hrhFileInfo == null || hrhFileInfo.getFiles().length == 0) { // hasn't been built yet, or was flushed buildCache = true; } else { @@ -311,7 +311,7 @@ compilerPrefixFile = prefixFile; - if (compilerPrefixFileInfo == null || + if (compilerPrefixFileInfo == null || compilerPrefixFile == null || compilerPrefixFileInfo.anyChanged()) { changed = true; diff -r a27f1d43992b -r 6f11f5393a5c core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2ConfigQueryData.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2ConfigQueryData.java Fri Aug 27 14:53:15 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2ConfigQueryData.java Fri Aug 27 16:34:38 2010 -0500 @@ -1,5 +1,6 @@ package com.nokia.carbide.cpp.internal.api.sdk.sbsv2; +import java.io.File; import java.io.StringReader; import java.util.ArrayList; import java.util.HashMap; @@ -181,6 +182,11 @@ if (valueNode != null) { value = valueNode.getNodeValue(); } + if (name.equals("__PRODUCT_INCLUDE__")){ + File f = new File(value.replaceAll("\"", "")); + if (!f.exists()) + continue; // Don't add a product include for non-existent HRH + } buildMacros.put(name, value); } else if (buildChild.getNodeName().equals("preinclude")){ buildPrefix = attribs.getNamedItem("file").getNodeValue(); diff -r a27f1d43992b -r 6f11f5393a5c core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SBSv2BuildInfo.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SBSv2BuildInfo.java Fri Aug 27 14:53:15 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SBSv2BuildInfo.java Fri Aug 27 16:34:38 2010 -0500 @@ -248,7 +248,8 @@ public Map getBuildMacros(String buildAlias) { Map buildMacros = cachedBuildMacros.get(buildAlias); - if (buildMacros == null) { + + if (buildMacros == null || buildMacros.size() == 0) { buildMacros = new HashMap(); synchronized (cachedBuildMacros) { if (sbsv2FilteredContexts == null || sbsv2FilteredContexts.size() == 0) { @@ -272,7 +273,7 @@ * @return A path object, or null if the variant.cfg does not exist. This routine does not check to see if the returned path exists. */ public IPath getPrefixFromVariantCfg(){ - if (cachedVariantHRHFile == null) { + if (cachedVariantHRHFile == null || cachedVariantHRHFile.toOSString().length() == 0) { if (sbsv2FilteredContexts == null || sbsv2FilteredContexts.size() == 0) { getFilteredBuildConfigurations(); }