diff --git a/build/org.eclipse.cdt.autotools.core/plugin.properties b/build/org.eclipse.cdt.autotools.core/plugin.properties
index 19c5089a1a5..152345d54af 100644
--- a/build/org.eclipse.cdt.autotools.core/plugin.properties
+++ b/build/org.eclipse.cdt.autotools.core/plugin.properties
@@ -22,6 +22,7 @@ Autotools.wizard.name=GNU Autotools Build Wizard
Autoconf.editor.name=Autoconf Editor
BuildProperty.value.name.default=Default;
+BuildProperty.value.name.debug=Debug
BuildProperty.type.name.autotools=GNU Autotools
PreferenceAutotools.name=Autotools
@@ -45,6 +46,7 @@ Autotools.projecttype.name=GNU Autotools
AutotoolsNature.name=Autotools Project Nature
AutotoolsNewNature.name=Autotools Project Nature V2
Configuration.build.name=Build (GNU)
+Configuration.debug.name=Debug (GNU)
Autotools.targetplatform.name=GNU Autotools Target Platform
Autotools.gnu.toolchain.name=GNU Autotools Toolchain
Configure.outputType=Configure Output (config.status)
diff --git a/build/org.eclipse.cdt.autotools.core/plugin.xml b/build/org.eclipse.cdt.autotools.core/plugin.xml
index 261d653ee3c..27493675eeb 100644
--- a/build/org.eclipse.cdt.autotools.core/plugin.xml
+++ b/build/org.eclipse.cdt.autotools.core/plugin.xml
@@ -10,6 +10,10 @@
property="org.eclipse.cdt.build.core.buildType"
id="org.eclipse.linuxtools.cdt.autotools.core.buildType.default"
name="%BuildProperty.value.name.default"/>
+
+ valueType="string">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -441,6 +514,12 @@
id="org.eclipse.linuxtools.cdt.autotools.core.buildArtefactType.autotools">
+
+
+
+
diff --git a/build/org.eclipse.cdt.autotools.core/src/org/eclipse/cdt/internal/autotools/core/configure/AutotoolsConfiguration.java b/build/org.eclipse.cdt.autotools.core/src/org/eclipse/cdt/internal/autotools/core/configure/AutotoolsConfiguration.java
index 9e26fb89a80..a9a71b43681 100644
--- a/build/org.eclipse.cdt.autotools.core/src/org/eclipse/cdt/internal/autotools/core/configure/AutotoolsConfiguration.java
+++ b/build/org.eclipse.cdt.autotools.core/src/org/eclipse/cdt/internal/autotools/core/configure/AutotoolsConfiguration.java
@@ -18,6 +18,14 @@ import java.util.List;
import java.util.Map;
import org.eclipse.cdt.autotools.core.AutotoolsOptionConstants;
+import org.eclipse.cdt.core.CCProjectNature;
+import org.eclipse.cdt.core.model.CoreModel;
+import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
+import org.eclipse.cdt.managedbuilder.core.IBuildObjectProperties;
+import org.eclipse.cdt.managedbuilder.core.IConfiguration;
+import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
public class AutotoolsConfiguration implements IAConfiguration {
@@ -25,6 +33,7 @@ public class AutotoolsConfiguration implements IAConfiguration {
public static class Option {
private String name;
private String transformedName;
+ private String superClassId;
private int type;
private String defaultValue;
@@ -45,6 +54,14 @@ public class AutotoolsConfiguration implements IAConfiguration {
this.defaultValue = defaultValue;
}
+ public Option(String name, String transformedName, String defaultValue, String superClassId, int type) {
+ this.name = name;
+ this.transformedName = transformedName;
+ this.type = type;
+ this.defaultValue = defaultValue;
+ this.superClassId = superClassId;
+ }
+
public String getName() {
return name;
}
@@ -57,6 +74,10 @@ public class AutotoolsConfiguration implements IAConfiguration {
return defaultValue;
}
+ public String getSuperClassId() {
+ return superClassId;
+ }
+
public String getDescription() {
return ConfigureMessages.getConfigureDescription(transformedName);
}
@@ -121,15 +142,21 @@ public class AutotoolsConfiguration implements IAConfiguration {
private String id;
private boolean isDirty;
private boolean isParmsDirty;
+ private IProject project;
private Map configOptions;
private ArrayList configParms = new ArrayList<>();
public AutotoolsConfiguration(String name) {
- this(name, true);
+ this(null, name, true);
+ }
+
+ public AutotoolsConfiguration(IProject project, String name) {
+ this(project, name, true);
}
- private AutotoolsConfiguration(String name, boolean initialize) {
+ private AutotoolsConfiguration(IProject project, String name, boolean initialize) {
this.id = name;
+ this.project = project;
configOptions = new HashMap<>();
if (initialize)
initConfigOptions();
@@ -140,6 +167,16 @@ public class AutotoolsConfiguration implements IAConfiguration {
// Put configure options in hash map. Ignore categories.
ArrayList