core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv2.java
branchC3_BUILDER_WORK
changeset 1871 4d38e1ac1cff
parent 1847 5a696c4ef747
child 1906 6f11f5393a5c
equal deleted inserted replaced
1863:0142fe025ce6 1871:4d38e1ac1cff
    72 		setPlatformAndTargetFromOutputPath();
    72 		setPlatformAndTargetFromOutputPath();
    73 		this.configID = ISBSv2BuildContext.BUILDER_ID + "." + sbsv2Alias + "." + sdk.getUniqueId();
    73 		this.configID = ISBSv2BuildContext.BUILDER_ID + "." + sbsv2Alias + "." + sdk.getUniqueId();
    74 		this.displayString = sbsv2Alias + " [" + sdk.getUniqueId() + "]"; 
    74 		this.displayString = sbsv2Alias + " [" + sdk.getUniqueId() + "]"; 
    75 	}
    75 	}
    76 
    76 
    77 	@Override
       
    78 	public ISymbianSDK getSDK() {
    77 	public ISymbianSDK getSDK() {
    79 		return sdk;
    78 		return sdk;
    80 	}
    79 	}
    81 
    80 
    82 	@Override
       
    83 	public String getPlatformString() {
    81 	public String getPlatformString() {
    84 		
    82 		
    85 		if (platform == null){
    83 		if (platform == null){
    86 			return configQueryData.getConfigurationErrorMessage();
    84 			return configQueryData.getConfigurationErrorMessage();
    87 		}
    85 		}
    95 	
    93 	
    96 	public String getPlatformReleaseDirName() {
    94 	public String getPlatformReleaseDirName() {
    97 		return platform;
    95 		return platform;
    98 	}
    96 	}
    99 
    97 
   100 	@Override
       
   101 	public String getTargetString() {
    98 	public String getTargetString() {
   102 		if (target == null){
    99 		if (target == null){
   103 			return configQueryData.getConfigurationErrorMessage();
   100 			return configQueryData.getConfigurationErrorMessage();
   104 		}
   101 		}
   105 		return target;
   102 		return target;
   107 
   104 
   108 	public String getConfigID(){
   105 	public String getConfigID(){
   109 		return configID;
   106 		return configID;
   110 	}
   107 	}
   111 	
   108 	
   112 	@Override
       
   113 	public String getDisplayString() {
   109 	public String getDisplayString() {
   114 		Check.checkState(displayString != null);
   110 		Check.checkState(displayString != null);
   115 		return displayString;
   111 		return displayString;
   116 	}
   112 	}
   117 
   113 
   118 	@Override
   114 	@Override
   119 	public String toString() {
   115 	public String toString() {
   120 		return getConfigID();
   116 		return getConfigID();
   121 	}
   117 	}
   122 
   118 
   123 	@Override
       
   124 	public String getDefaultDefFileDirectoryName() {
   119 	public String getDefaultDefFileDirectoryName() {
   125 	
   120 	
   126 		String dirName = getDefFileDirectoryNameForPlatform(platform);
   121 		String dirName = getDefFileDirectoryNameForPlatform(platform);
   127 		
   122 		
   128 		if (dirName == null) {
   123 		if (dirName == null) {
   140 			return "EABI"; //$NON-NLS-1$
   135 			return "EABI"; //$NON-NLS-1$
   141 		}
   136 		}
   142 		return null;
   137 		return null;
   143 	}
   138 	}
   144 	
   139 	
   145 	@Override
       
   146 	public IPath getCompilerPrefixFile() {
   140 	public IPath getCompilerPrefixFile() {
   147 		
   141 		
   148 		if (sbsv2Alias.toUpperCase().contains(TOOLCHAIN_GCCE) ||
   142 		if (sbsv2Alias.toUpperCase().contains(TOOLCHAIN_GCCE) ||
   149 			sbsv2Alias.toUpperCase().contains(TOOLCHAIN_ARM)) {
   143 			sbsv2Alias.toUpperCase().contains(TOOLCHAIN_ARM)) {
   150 			if (configQueryData != null) {
   144 			if (configQueryData != null) {
   154 
   148 
   155 		// fallback for WINSCW, MSVC, etc.
   149 		// fallback for WINSCW, MSVC, etc.
   156 		return null;
   150 		return null;
   157 	}
   151 	}
   158 	
   152 	
   159 	@Override
       
   160 	public List<IDefine> getVariantHRHDefines() {
   153 	public List<IDefine> getVariantHRHDefines() {
   161 		return getCachedData().getVariantHRHDefines();
   154 		return getCachedData().getVariantHRHDefines();
   162 	}
   155 	}
   163 
   156 
   164 	@Override
       
   165 	public List<File> getVariantHRHIncludes() {
   157 	public List<File> getVariantHRHIncludes() {
   166 		return getCachedData().getPrefixFileIncludes();
   158 		return getCachedData().getPrefixFileIncludes();
   167 	}
   159 	}
   168 
   160 
   169 	@Override
       
   170 	public List<IDefine> getCompilerPreincludeDefines() {
   161 	public List<IDefine> getCompilerPreincludeDefines() {
   171 		IPath prefixFile = getCompilerPrefixFile();
   162 		IPath prefixFile = getCompilerPrefixFile();
   172 		if (prefixFile == null || !prefixFile.toFile().exists()) {
   163 		if (prefixFile == null || !prefixFile.toFile().exists()) {
   173 			return getCachedData().getCompilerMacros(null);
   164 			return getCachedData().getCompilerMacros(null);
   174 		}
   165 		}
   175 		
   166 		
   176 		return getCachedData().getCompilerMacros(prefixFile);
   167 		return getCachedData().getCompilerMacros(prefixFile);
   177 	}
   168 	}
   178 
   169 
   179 	@Override
       
   180 	public String getBuildVariationName() {
   170 	public String getBuildVariationName() {
   181 		// Not needed for Raptor
   171 		// Not needed for Raptor
   182 		return "";
   172 		return "";
   183 	}
   173 	}
   184 	
   174 	
   185 	@Override
       
   186 	public String getSBSv2Alias() {
   175 	public String getSBSv2Alias() {
   187 		return sbsv2Alias;
   176 		return sbsv2Alias;
   188 	}
   177 	}
   189 
   178 
   190 	/**
   179 	/**
   317 		}
   306 		}
   318 		
   307 		
   319 		return configQueryData;
   308 		return configQueryData;
   320 	}
   309 	}
   321 
   310 
   322 	@Override
       
   323 	public ISBSv2ConfigQueryData getConfigQueryData() {
   311 	public ISBSv2ConfigQueryData getConfigQueryData() {
   324 		return configQueryData;
   312 		return configQueryData;
   325 	}
   313 	}
   326 
   314 
   327 	@Override
       
   328 	public String getToolChain() {
   315 	public String getToolChain() {
   329 		
   316 		
   330 		if (configQueryData != null) {
   317 		if (configQueryData != null) {
   331 			Map<String, String> buildMacros = configQueryData.getBuildMacros();
   318 			Map<String, String> buildMacros = configQueryData.getBuildMacros();
   332 			// try to figure out the tool chain using macros from Raptor config query
   319 			// try to figure out the tool chain using macros from Raptor config query
   348 			}
   335 			}
   349 		}
   336 		}
   350 		return TOOLCHAIN_UNKNOWN;
   337 		return TOOLCHAIN_UNKNOWN;
   351 	}
   338 	}
   352 
   339 
   353 	@Override
       
   354 	public List<IPath> getSystemIncludes() {
   340 	public List<IPath> getSystemIncludes() {
   355 		if (configQueryData != null) {
   341 		if (configQueryData != null) {
   356 			List<String> includes = configQueryData.getMetaDataIncludes();
   342 			List<String> includes = configQueryData.getMetaDataIncludes();
   357 			if (includes != null && !includes.isEmpty()) {
   343 			if (includes != null && !includes.isEmpty()) {
   358 				List<IPath> includePaths = new ArrayList<IPath>();
   344 				List<IPath> includePaths = new ArrayList<IPath>();
   370 			}
   356 			}
   371 		}
   357 		}
   372 		return null;
   358 		return null;
   373 	}
   359 	}
   374 
   360 
   375 	@Override
       
   376 	public List<String> getSupportedTargettypes() {
   361 	public List<String> getSupportedTargettypes() {
   377 		return configQueryData.getTargettypes();
   362 		return configQueryData.getTargettypes();
   378 	}
   363 	}
   379 
   364 
   380 
   365 
   381 	@Override
       
   382 	public void loadConfigurationSettings(ICStorageElement se) {
   366 	public void loadConfigurationSettings(ICStorageElement se) {
   383 		if (sbsv2BuildInfo == null){
   367 		if (sbsv2BuildInfo == null){
   384 			sbsv2BuildInfo = new SBSv2BuilderInfo();
   368 			sbsv2BuildInfo = new SBSv2BuilderInfo();
   385 		}
   369 		}
   386 		
   370 		
   387 		sbsv2BuildInfo.loadFromStorage(se);
   371 		sbsv2BuildInfo.loadFromStorage(se);
   388 	}
   372 	}
   389 
   373 
   390 	@Override
       
   391 	public void saveConfigurationSettings(ICStorageElement se, ISymbianBuildContext context) {
   374 	public void saveConfigurationSettings(ICStorageElement se, ISymbianBuildContext context) {
   392 		sbsv2BuildInfo = new SBSv2BuilderInfo((ISBSv2BuildContext)context);
   375 		sbsv2BuildInfo = new SBSv2BuilderInfo((ISBSv2BuildContext)context);
   393 		sbsv2BuildInfo.saveToStorage(se.createChild(SBSV2_DATA_ID)); 
   376 		sbsv2BuildInfo.saveToStorage(se.createChild(SBSV2_DATA_ID)); 
   394 	}
   377 	}
   395 
   378 
   396 	@Override
       
   397 	/**
   379 	/**
   398 	 * Get the unique ID for this build configuration.
   380 	 * Get the unique ID for this build configuration.
   399 	 * For ABLD it is the display name, for SBSv2, it is the builder ID (cconfiguration 'id')
   381 	 * For ABLD it is the display name, for SBSv2, it is the builder ID (cconfiguration 'id')
   400 	 * @return
   382 	 * @return
   401 	 */
   383 	 */
   410 	public IPath getPrefixFromVariantCfg(){
   392 	public IPath getPrefixFromVariantCfg(){
   411 		ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER));
   393 		ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER));
   412 		return sbsv2BldInfo.getPrefixFromVariantCfg();
   394 		return sbsv2BldInfo.getPrefixFromVariantCfg();
   413 	}
   395 	}
   414 
   396 
   415 	@Override
       
   416 	public List<IDefine> getBuildMacros() {
   397 	public List<IDefine> getBuildMacros() {
   417 		ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER));
   398 		ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER));
   418 		Map<String, String> buildMacroMap = sbsv2BldInfo.getBuildMacros(getSBSv2Alias());
   399 		Map<String, String> buildMacroMap = sbsv2BldInfo.getBuildMacros(getSBSv2Alias());
   419 		List<IDefine> defines = new ArrayList<IDefine>();
   400 		List<IDefine> defines = new ArrayList<IDefine>();
   420 		for (String macroName : buildMacroMap.keySet()){
   401 		for (String macroName : buildMacroMap.keySet()){
   422 		}
   403 		}
   423 
   404 
   424 		return defines;
   405 		return defines;
   425 	}
   406 	}
   426 
   407 
   427 	@Override
       
   428 	public List<IDefine> getMetadataMacros() {
   408 	public List<IDefine> getMetadataMacros() {
   429 		ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER));
   409 		ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER));
   430 		Map<String, String> platMacroMap = sbsv2BldInfo.getMetadataMacros(getSBSv2Alias());
   410 		Map<String, String> platMacroMap = sbsv2BldInfo.getMetadataMacros(getSBSv2Alias());
   431 		List<IDefine> defines = new ArrayList<IDefine>();
   411 		List<IDefine> defines = new ArrayList<IDefine>();
   432 		for (String macroName : platMacroMap.keySet()){
   412 		for (String macroName : platMacroMap.keySet()){
   434 		}
   414 		}
   435 		
   415 		
   436 		return defines;
   416 		return defines;
   437 	}
   417 	}
   438 
   418 
   439 	@Override
       
   440 	public IDefine getTargetTypeMacro(String targettype) {
   419 	public IDefine getTargetTypeMacro(String targettype) {
   441 		ISBSv2BuildInfo sbsv2BuildInfo = (ISBSv2BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER);
   420 		ISBSv2BuildInfo sbsv2BuildInfo = (ISBSv2BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER);
   442 		return DefineFactory.createDefine(sbsv2BuildInfo.getTargetTypeMacro(targettype));
   421 		return DefineFactory.createDefine(sbsv2BuildInfo.getTargetTypeMacro(targettype));
   443 	}
   422 	}
   444 
   423