[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] Re: [cdt-patch] Initial Managed Build System patch for CDT 2.1
|
Hey Leo, this is a great start! One regression I noticed, though, is that
the MBS no longer detects the built-in include paths. This essentially
blows up content assist and other parser based features. Do I have
something set up wrong or is this still to come?
Also, another thing I haven't seen yet is the ability to add targets to a
project. I am trying to build a shared library project that uses gcc and
builds for both Windows and Linux with a couple of files built for one
target or the other (thanks to the per config exclude from build :-).
Right now those show up as different targets. This could be addressed if
we have removed the road blocks to having these represented by the same
target but different configs, or by allowing us to have multi-target
projects. Any thoughts on how we can accomplish this?
Thanks,
Doug Schaefer, IBM's Technical Lead, Eclipse CDT
Ottawa Lab, IBM Canada, Rational Software Division
"Treggiari, Leo" <leo.treggiari@xxxxxxxxx>
Sent by: cdt-patch-admin@xxxxxxxxxxx
10/25/2004 01:55 PM
Please respond to
cdt-patch
To
<cdt-patch@xxxxxxxxxxx>
cc
Subject
[cdt-patch] Initial Managed Build System patch for CDT 2.1
This patch contains the initial drop for the Managed Build System (MBS)
work
for CDT 2.1. There are 3 patches attached - one for each of the core,
core.tests, and ui MBS packages. Below is a listing of the new, removed,
and
modified source files for each package.
New Functionality:
New model for manifest file and .cdtbuild file:
o Old model manifest files continue to be supported.
o The new model should be used in the future since not all new
functionality will be available from the old model. In general, no
significant effort will be expended in making new functionality work
with the old model manifest files. However, in some cases, new
functionality will automatically work with old model manifest files.
The new functionality in this patch appears to work with old model
manifest files. The GNU tool-chain definition has been updated to
use
the new model.
o Old model project (.cdtbuild) files are converted upon approval
by end-user. Converted project files will no longer work with CDT
2.0.
Support for file-specific tool command line options:
o A specific file in a configuration can use different tool options
than the rest of the files in the configuration.
o A specific file can be excluded from the build of a configuration.
New attributes that add flexibility to tool command line generation:
o Tool.commandLinePattern: Specifies a command “pattern” that
indicates
how the parts of the command line are used to create the entire
command
line. The pattern consists of the replaceable variables COMMAND,
FLAGS,
OUTPUT_FLAG, OUTPUT_PREFIX, OUTPUT and INPUTS. The default command
line
pattern is
${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT}
${INPUTS}
White space and other characters are significant and are copied to
the
generated command.
o Tool.commandLineGenerator: The name of a class that implements
IManagedCommandLineGenerator (to be defined in the ISV document).
o Option.command: The command provides a “pattern” for specifying
where
the value should be placed for options of type string and
stringlist.
The pattern can contain the replaceable variable VALUE. If no
${VALUE}
is specified in the command, the option value is appended to the end
of
the specified command (as happens in CDT 2.0).
Modified UI:
o Error parsers are no longer selectable in the project creation
wizard.
This is because error parsers are set per-configuration, and
per-configuation changes are made via the property page.
o C/C++ Build page of MBS project properties now contains all of the
per-configuration settings for the project. There are 4 tabs for
Tool Settings, Build Settings, Error Parsers, and Binary Parsers.
Note that binary parsers are not yet applied per configuration
because
the rest of CDT is not currently set up to handle it.
o File properties now contains a C/C++ Build page where the tool
options
for a particular file can be set.
To Do:
o There remain a few functionality problems that need to be worked on,
but
I am not aware of any regressions from the CDT 2.0 MBS
functionality.
o End-user documentation needs to be contributed.
o ISV documentation needs to be contributed.
o Additional JUnit tests for the new model.
org.eclipse.cdt.managedbuilder.core
New Source Files:
schema
buildDefinitions.exsd
org.eclipse.cdt.managedbuilder.core
IBuilder.java
IConfigurationV2.java
IManagedCommandLineGenerator.java
IManagedCommandLineInfo.java
IManagedProject.java
IProjectType.java
IResourceConfiguration.java
ITargetPlatform.java
IToolChain.java
org.eclipse.cdt.managedbuilder.internal.core
Builder.java
ConfigurationV2.java
ManagedCommandLineGenerator.java
ManagedCommandLineInfo.java
ManagedProject.java
ProjectType.java
ResourceConfiguration.java
TargetPlatform.java
ToolChain.java
org.eclipse.cdt.managedbuilder.projectconverter
ConverterMessages.java
PluginResources.properties
UpdateManagedProject12.java
UpdateManagedProject20.java
UpdateManagedProjectManager.java
Modified Source Files:
plugin.xml
Schema
ManagedBuildTools.exsd
org.eclipse.cdt.managedbuilder.core
IConfiguration.java
IManagedBuildInfo.java
IOption.java
IOptionCategory.java
ITarget.java
ITool.java
IToolReference.java
ManagedBuilderCorePlugin.java
ManagedBuildManager.java
org.eclipse.cdt.managedbuilder.internal.core
Configuration.java
GeneratedMakefileBuilder.java
ManagedBuildInfo.java
Option.java
OptionCategory.java
OptionReference.java
Target.java
Tool.java
ToolReference.java
org.eclipse.cdt.managedbuilder.internal.scannerconfig
ManagedBuildCPathEntryContainer.java
org.eclipse.cdt.managedbuilder.makegen.gnu
GnuMakefileGenerator.java
org.eclipse.cdt.managedbuilder.core.tests
New Source Files:
tests/org.eclipse.cdt.managedbuild.core.tests
ManagedCommandLineGeneratorTest.java
ManagedProjectUpdateTests.java
Resources/oldTypeProjects/1.2/test12.zip
Resources/oldTypeProjects/2.0/test20.zip
Suite/org/eclipse/managedbuilder/testplugin/CTestPlugin.java
Suite/org/eclipse/managedbuilder/testplugin/ManagedBuildTestHelper.java
Modified Source Files:
tests/org.eclipse.cdt.managedbuild.core.tests
build.properties
plugin.xml
ManagedBuildCoreTests.java
TestManagedConfigProvider.java
org.eclipse.cdt.managedbuilder.ui
New Source Files:
org.eclipse.cdt.managedbuilder.internal.ui
BuildSettingsBlock.java
ManagedBuildOptionBlock.java
ToolsSettingsBlock.java
org.eclipse.cdt.managedbuilder.ui.properties
ResourceBuildPropertyPage.java
Removed Source Files:
org.eclipse.cdt.managedbuilder.internal.ui
ManagedMakeStartup.java
org.eclipse.cdt.managedbuilder.ui.actions
UpdateManagedProjectAction.java
org.eclipse.cdt.managedbuilder.ui.properties
ManagedBuilderPropertyPage.java
Modified Source Files:
org.eclipse.cdt.managedbuilder.ui
plugin.properties
plugin.xml
org.eclipse.cdt.managedbuilder.internal.ui
ErrorParserBlock.java
ManagedProjectOptionBlock.java
PluginResources.properties
org.eclipse.cdt.managedbuilder.ui.properties
BuildOptionComboFieldEditor.java
BuildOptionSettingsPage.java
BuildPropertyPage.java
BuildSettingsPage.java
BuildToolsSettingsPage.java
BuildToolsSettingsStore.java
ManageConfigDialog.java
NewConfigurationDialog.java
ToolListContentProvider.java
ToolListLabelProvider.java
org.eclipse.cdt.managedbuilder.ui.wizards
ConfigurationContentProvider.java
CProjectPlatformPage.java
NewManagedProjectOptionPage.java
NewManagedProjectWizard.java
#### ui_patch.txt has been removed from this note on October 25, 2004 by
Douglas Schaefer
#### core_patch.txt has been removed from this note on October 25, 2004 by
Douglas Schaefer
#### tests_patch.txt has been removed from this note on October 25, 2004
by Douglas Schaefer