1
/*******************************************************************************
2
* Copyright (c) 2004, 2007 QNX Software Systems and others.
3
* All rights reserved. This program and the accompanying materials
4
* are made available under the terms of the Eclipse Public License v1.0
5
* which accompanies this distribution, and is available at
6
* http://www.eclipse.org/legal/epl-v10.html
9
* QNX Software Systems - initial API and implementation
10
*******************************************************************************/
11
package org.eclipse.cdt.make.internal.core;
13
import org.eclipse.cdt.core.CCorePlugin;
14
import org.eclipse.cdt.make.core.IMakeCommonBuildInfo;
15
import org.eclipse.cdt.make.core.IMakeBuilderInfo;
16
import org.eclipse.cdt.make.core.MakeBuilder;
17
import org.eclipse.cdt.make.core.MakeCorePlugin;
18
import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo;
19
import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo2;
20
import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigBuilder;
21
import org.eclipse.cdt.make.internal.core.scannerconfig2.ScannerConfigProfileManager;
22
import org.eclipse.core.runtime.CoreException;
23
import org.eclipse.core.runtime.Path;
24
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
27
public class PreferenceInitializer extends AbstractPreferenceInitializer {
30
* @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
32
public void initializeDefaultPreferences() {
33
IMakeBuilderInfo info = MakeCorePlugin.createBuildInfo(MakeCorePlugin.getDefault().getPluginPreferences(), MakeBuilder.BUILDER_ID, true);
35
info.setBuildAttribute(IMakeCommonBuildInfo.BUILD_COMMAND, "make"); //$NON-NLS-1$
36
info.setBuildAttribute(IMakeCommonBuildInfo.BUILD_LOCATION, ""); //$NON-NLS-1$
37
info.setStopOnError(false);
38
info.setUseDefaultBuildCmd(true);
39
info.setAutoBuildEnable(false);
40
info.setBuildAttribute(IMakeBuilderInfo.BUILD_TARGET_AUTO, "all"); //$NON-NLS-1$
41
info.setIncrementalBuildEnable(true);
42
info.setBuildAttribute(IMakeBuilderInfo.BUILD_TARGET_INCREMENTAL, "all"); //$NON-NLS-1$
43
info.setFullBuildEnable(true);
44
info.setCleanBuildEnable(true);
45
info.setBuildAttribute(IMakeBuilderInfo.BUILD_TARGET_CLEAN, "clean"); //$NON-NLS-1$
46
info.setAppendEnvironment(true);
47
info.setErrorParsers(CCorePlugin.getDefault().getAllErrorParsersIDs());
48
} catch (CoreException e) {
50
MakeCorePlugin.getDefault().getPluginPreferences().setDefault(CCorePlugin.PREF_BINARY_PARSER, CCorePlugin.PLUGIN_ID + ".ELF"); //$NON-NLS-1$
52
// default plugin preferences for scanner configuration discovery
53
IScannerConfigBuilderInfo scInfo = MakeCorePlugin.createScannerConfigBuildInfo(MakeCorePlugin.getDefault().getPluginPreferences(), ScannerConfigBuilder.BUILDER_ID, true);
55
scInfo.setAutoDiscoveryEnabled(true);
56
scInfo.setMakeBuilderConsoleParserEnabled(true);
57
scInfo.setESIProviderCommandEnabled(true);
58
scInfo.setUseDefaultESIProviderCmd(true);
59
scInfo.setESIProviderCommand(new Path("gcc")); //$NON-NLS-1$
60
scInfo.setESIProviderArguments("-E -P -v -dD ${plugin_state_location}/${specs_file}"); //$NON-NLS-1$
61
scInfo.setESIProviderConsoleParserId(MakeCorePlugin.GCC_SPECS_CONSOLE_PARSER_ID);
62
scInfo.setMakeBuilderConsoleParserId(MakeCorePlugin.GCC_SCANNER_INFO_CONSOLE_PARSER_ID);
63
scInfo.setSIProblemGenerationEnabled(true);
64
} catch (CoreException e) {
67
// default plugin preferences for new scanner configuration discovery
68
IScannerConfigBuilderInfo2 scInfo2 = ScannerConfigProfileManager.
69
createScannerConfigBuildInfo2(MakeCorePlugin.getDefault().getPluginPreferences(),
70
ScannerConfigProfileManager.NULL_PROFILE_ID, true);
71
scInfo2.setAutoDiscoveryEnabled(true);
72
scInfo2.setProblemReportingEnabled(true);
73
scInfo2.setSelectedProfileId(ScannerConfigProfileManager.DEFAULT_SI_PROFILE_ID);
74
scInfo2.setBuildOutputFileActionEnabled(false);
75
scInfo2.setBuildOutputFilePath(""); //$NON-NLS-1$
76
scInfo2.setBuildOutputParserEnabled(true);
77
String providerId = "specsFile"; //$NON-NLS-1$
78
scInfo2.setProviderOpenFilePath(providerId, "");//$NON-NLS-1$
79
scInfo2.setProviderRunCommand(providerId, "gcc"); //$NON-NLS-1$
80
scInfo2.setProviderRunArguments(providerId, "-E -P -v -dD ${plugin_state_location}/${specs_file}");//$NON-NLS-1$
81
scInfo2.setProviderOutputParserEnabled(providerId, true);
82
scInfo2.setProblemReportingEnabled(true);
86
catch (CoreException e) {
89
// Store default for makefile
90
MakeCorePlugin.getDefault().getPluginPreferences().setDefault(MakeCorePlugin.MAKEFILE_STYLE, "GNU"); //$NON-NLS-1$