# HG changeset patch # User timkelly # Date 1281713438 18000 # Node ID 7b722bddc0115e84b762ad4d71b86b7062ab3add # Parent 912948898b0724e2fb7338b45e70ffca630a508a work to get EpocEngineHelper#getGlobalDefinesForConfiguration(ICarbideBuildConfiguration config, List mmpFiles) working properly. Gets the configuration indexer data cache macros set up properly. diff -r 912948898b07 -r 7b722bddc011 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java Thu Aug 12 17:32:31 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java Fri Aug 13 10:30:38 2010 -0500 @@ -142,6 +142,7 @@ monitor.beginTask("Scanning bld.inf for mmp and make files", buildConfigs.size()); try { + // let cache know we're iterating a lot SymbianBuildContextDataCache.startProjectOperation(); @@ -2777,33 +2778,23 @@ List projectDefines = config.getCompileTimeMacros(); - boolean indexAllMMPs = false; if (mmpFiles == null){ // get all macros from all mmps - indexAllMMPs = true; mmpFiles = getMMPFilesForProject(config.getCarbideProject()); } - boolean foundStdCPPSupport = false; for (IPath mmpPath : mmpFiles){ - if (!foundStdCPPSupport && hasSTDCPPSupport(config.getCarbideProject(), mmpPath)){ + if (hasSTDCPPSupport(config.getCarbideProject(), mmpPath)){ projectDefines.add(DefineFactory.createDefine("__SYMBIAN_STDCPP_SUPPORT__")); - foundStdCPPSupport = true; + break; } } - // get the list of all mmp files selected for the build configuration - // a null buildComponents list means all MMPs are included - so leave it null when indexing all files - List buildComponents = null; - if (!EpocEngineHelper.getIndexAllPreference() || !indexAllMMPs) - buildComponents = config.getCarbideProject().isBuildingFromInf() ? null : config.getCarbideProject().getInfBuildComponents(); - if (((CarbideProjectInfo)config.getCarbideProject()).shouldUseMMPMacros()){ + // Only return the macros from the mmps if project pref Macro Settings + // is enabled (Use preprocessor symbols....) for (IPath mmpPath : mmpFiles) { - if (buildComponents != null && !TextUtils.listContainsIgnoreCase(buildComponents, mmpPath.lastSegment())) - continue; - List mmpMacros = getMMPMacrosForBuildConfiguration( mmpPath, config); for (String macro : mmpMacros) { diff -r 912948898b07 -r 7b722bddc011 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/MMPSelectionUI.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/MMPSelectionUI.java Thu Aug 12 17:32:31 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/MMPSelectionUI.java Fri Aug 13 10:30:38 2010 -0500 @@ -17,6 +17,7 @@ package com.nokia.carbide.cdt.internal.api.builder.ui; import com.nokia.carbide.cdt.builder.EpocEngineHelper; +import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration; import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo; import com.nokia.carbide.cpp.epoc.engine.model.bldinf.IExtension; import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext; @@ -168,7 +169,7 @@ private Button excludeExtensionMakefilesCheckbox; private Button excludeTestComponentsCheckbox; private ListenerList listeners; - private List buildConfigs; + private List buildConfigs; private IPath bldInfFile; private final IRunnableContext runnableContext; private List data = Collections.emptyList(); @@ -370,12 +371,12 @@ * @param bldInfFile IPath * @param buildConfigs List */ - public void setBldInfFile(final IPath bldInfFile, final List buildConfigs, final boolean useSBSv2Builder) { + public void setBldInfFile(final IPath bldInfFile, final List buildContexts, final boolean useSBSv2Builder) { if (bldInfFile.equals(this.bldInfFile) && buildConfigs.equals(this.buildConfigs)) return; this.bldInfFile = bldInfFile; - this.buildConfigs = buildConfigs; + this.buildConfigs = buildContexts; this.useSBSv2Builder = useSBSv2Builder; try { diff -r 912948898b07 -r 7b722bddc011 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideLanguageData.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideLanguageData.java Thu Aug 12 17:32:31 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideLanguageData.java Fri Aug 13 10:30:38 2010 -0500 @@ -301,7 +301,14 @@ List mmpFiles = null; List projectDefines = new ArrayList(); if (buildComponents != null){ - mmpFiles = EpocEngineHelper.getMMPFilesForBuildConfiguration(carbideBuildConfig); + // Get the list of mmp files we are building so we only get those macros + List tmpMMPFiles = EpocEngineHelper.getMMPFilesForBuildConfiguration(carbideBuildConfig); + mmpFiles = new ArrayList(); + for (IPath mmp : tmpMMPFiles){ + if (TextUtils.listContainsIgnoreCase(buildComponents, mmp.lastSegment())){ + mmpFiles.add(mmp); + } + } } projectDefines = EpocEngineHelper.getGlobalDefinesForConfiguration(carbideBuildConfig, mmpFiles); diff -r 912948898b07 -r 7b722bddc011 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPProjectSettingsPage.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPProjectSettingsPage.java Thu Aug 12 17:32:31 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPProjectSettingsPage.java Fri Aug 13 10:30:38 2010 -0500 @@ -401,7 +401,11 @@ selectionUI.setLayoutData(gridData); // set the data - selectionUI.setBldInfFile(cpi.getAbsoluteBldInfPath(), cpi.getBuildConfigurations(), CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(cpi.getProject())); + List buildContexts = new ArrayList(); + for (ICarbideBuildConfiguration config : cpi.getBuildConfigurations()){ + buildContexts.add(config.getBuildContext()); + } + selectionUI.setBldInfFile(cpi.getAbsoluteBldInfPath(), buildContexts, CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(cpi.getProject())); // set checked state selectionUI.setAllChecked(false); diff -r 912948898b07 -r 7b722bddc011 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 Thu Aug 12 17:32:31 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContextDataCache.java Fri Aug 13 10:30:38 2010 -0500 @@ -477,7 +477,10 @@ } // also search files in same folder as variant.hrh - File prefix = context.getPrefixFromVariantCfg().toFile(); + File prefix = null; + if (context.getPrefixFromVariantCfg() != null){ + prefix = context.getPrefixFromVariantCfg().toFile(); + } if (sbvPlatform != null){ // might be an alternate HRH file to use IPath varVarHRH = sbvPlatform.getBuildVariantHRHFile();