19 import java.util.ArrayList; |
19 import java.util.ArrayList; |
20 import java.util.List; |
20 import java.util.List; |
21 |
21 |
22 import org.eclipse.cdt.core.CCorePlugin; |
22 import org.eclipse.cdt.core.CCorePlugin; |
23 import org.eclipse.cdt.core.model.CoreModel; |
23 import org.eclipse.cdt.core.model.CoreModel; |
|
24 import org.eclipse.cdt.core.settings.model.CMacroEntry; |
24 import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; |
25 import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; |
25 import org.eclipse.cdt.core.settings.model.ICProjectDescription; |
26 import org.eclipse.cdt.core.settings.model.ICProjectDescription; |
26 import org.eclipse.cdt.core.settings.model.ICStorageElement; |
27 import org.eclipse.cdt.core.settings.model.ICStorageElement; |
27 import org.eclipse.cdt.core.settings.model.extension.CConfigurationData; |
28 import org.eclipse.cdt.core.settings.model.extension.CConfigurationData; |
28 import org.eclipse.core.resources.IMarker; |
29 import org.eclipse.core.resources.IMarker; |
318 macros.add("_DEBUG"); //$NON-NLS-1$ |
319 macros.add("_DEBUG"); //$NON-NLS-1$ |
319 } else { |
320 } else { |
320 macros.add("NDEBUG"); //$NON-NLS-1$ |
321 macros.add("NDEBUG"); //$NON-NLS-1$ |
321 } |
322 } |
322 |
323 |
|
324 if (hasSTDCPPSupport()){ |
|
325 macros.add("__SYMBIAN_STDCPP_SUPPORT__"); |
|
326 } |
|
327 |
323 return macros; |
328 return macros; |
324 } |
329 } |
325 |
330 |
326 public CConfigurationData getBuildConfigurationData() { |
331 public CConfigurationData getBuildConfigurationData() { |
327 return buildConfigData; |
332 return buildConfigData; |
376 public IROMBuilderInfo getROMBuildInfo() { |
381 public IROMBuilderInfo getROMBuildInfo() { |
377 return romBuilderInfo; |
382 return romBuilderInfo; |
378 } |
383 } |
379 |
384 |
380 |
385 |
381 public boolean hasSTDCPPSupport() { |
386 private boolean hasSTDCPPSupport() { |
382 |
387 |
383 ICarbideProjectInfo cpi = getCarbideProject(); |
388 ICarbideProjectInfo cpi = getCarbideProject(); |
384 |
389 |
385 List<ISymbianBuildContext> buildConfig = new ArrayList<ISymbianBuildContext>(); |
390 List<ISymbianBuildContext> buildConfig = new ArrayList<ISymbianBuildContext>(); |
386 List<IPath> normalMakMakePaths = new ArrayList<IPath>(); |
391 List<IPath> normalMakMakePaths = new ArrayList<IPath>(); |
387 List<IPath> testMakMakePaths = new ArrayList<IPath>(); |
392 List<IPath> testMakMakePaths = new ArrayList<IPath>(); |
388 buildConfig.add(cpi.getDefaultConfiguration()); |
393 buildConfig.add(this); |
389 EpocEngineHelper.getMakMakeFiles(cpi.getAbsoluteBldInfPath(), buildConfig, normalMakMakePaths, testMakMakePaths, new NullProgressMonitor()); |
394 EpocEngineHelper.getMakMakeFiles(cpi.getAbsoluteBldInfPath(), buildConfig, normalMakMakePaths, testMakMakePaths, new NullProgressMonitor()); |
390 |
395 |
391 for (IPath mmpPath : normalMakMakePaths){ |
396 for (IPath mmpPath : normalMakMakePaths){ |
392 if (EpocEngineHelper.hasSTDCPPSupport(cpi, mmpPath)){ |
397 if (EpocEngineHelper.hasSTDCPPSupport(cpi, mmpPath)){ |
393 return true; |
398 return true; |