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