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 } |
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()){ |