|
|
@ -353,7 +353,7 @@ user overrides through the UI between sessions, in the project's .cdtbuild file.
|
|
|
|
System</a></p>
|
|
|
|
System</a></p>
|
|
|
|
<p>There is also a standard build system supplied as part
|
|
|
|
<p>There is also a standard build system supplied as part
|
|
|
|
of the CDT framework that is unrelated to the managed build system. The
|
|
|
|
of the CDT framework that is unrelated to the managed build system. The
|
|
|
|
standard system provides a small set of tools to build a user’s
|
|
|
|
standard system provides a small set of tools to build a user’s
|
|
|
|
projects. The user is expected to supply a makefile which includes
|
|
|
|
projects. The user is expected to supply a makefile which includes
|
|
|
|
enough information to build their project. The UI allows the user to
|
|
|
|
enough information to build their project. The UI allows the user to
|
|
|
|
switch between targets defined in the makefile, and can dynamically
|
|
|
|
switch between targets defined in the makefile, and can dynamically
|
|
|
@ -369,7 +369,7 @@ and maintaining makefiles for projects to be a chore. For these users,
|
|
|
|
the trade-off for the convenience of not having to maintain them is the
|
|
|
|
the trade-off for the convenience of not having to maintain them is the
|
|
|
|
flexibility of being in control of the makefiles.</p>
|
|
|
|
flexibility of being in control of the makefiles.</p>
|
|
|
|
<p class="section"><a name="_TocSectionUIModel">2</a> User Model</p>
|
|
|
|
<p class="section"><a name="_TocSectionUIModel">2</a> User Model</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The CDT user’s model of the MBS
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The CDT user’s model of the MBS
|
|
|
|
contains the following primary objects: </p>
|
|
|
|
contains the following primary objects: </p>
|
|
|
|
<table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: medium none" id="table9">
|
|
|
|
<table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" style="border-collapse: collapse; border: medium none" id="table9">
|
|
|
|
<tr>
|
|
|
|
<tr>
|
|
|
@ -442,7 +442,7 @@ contains the following primary objects: </p>
|
|
|
|
in <font color="#FF0000">red </font>indicates MBS functionality that is not yet
|
|
|
|
in <font color="#FF0000">red </font>indicates MBS functionality that is not yet
|
|
|
|
implemented, but is intended to be implemented in future releases of MBS.</p>
|
|
|
|
implemented, but is intended to be implemented in future releases of MBS.</p>
|
|
|
|
<h3 class="subsection">2.1.1 Creating a New Project</h3>
|
|
|
|
<h3 class="subsection">2.1.1 Creating a New Project</h3>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The CDT user’s experience with the
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The CDT user’s experience with the
|
|
|
|
MBS begins when she creates a new Managed Make project. The user picks the type
|
|
|
|
MBS begins when she creates a new Managed Make project. The user picks the type
|
|
|
|
of project to create from the list of project types defined in the installed
|
|
|
|
of project to create from the list of project types defined in the installed
|
|
|
|
manifest files. The list of project types is, by default, filtered by:</p>
|
|
|
|
manifest files. The list of project types is, by default, filtered by:</p>
|
|
|
@ -481,7 +481,7 @@ configuration filtering, however configurations that use tool-chains that are
|
|
|
|
not installed will not be able to be built on the host system.</p>
|
|
|
|
not installed will not be able to be built on the host system.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">After selecting the initial set of
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">After selecting the initial set of
|
|
|
|
configurations for the project, the user can select any of the standard tabs in
|
|
|
|
configurations for the project, the user can select any of the standard tabs in
|
|
|
|
the “Additional Project Settings” page in order to customize additional options
|
|
|
|
the “Additional Project Settings” page in order to customize additional options
|
|
|
|
that are common to all Managed Build system projects (e.g., the projects that the new project depends upon, etc.).</p>
|
|
|
|
that are common to all Managed Build system projects (e.g., the projects that the new project depends upon, etc.).</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user
|
|
|
|
can proceed to any additional pages provided by the project type in order to
|
|
|
|
can proceed to any additional pages provided by the project type in order to
|
|
|
@ -495,7 +495,7 @@ the user can use any of the Eclipse methods of adding files to the project.</p>
|
|
|
|
configuration based upon the settings used by one of the existing
|
|
|
|
configuration based upon the settings used by one of the existing
|
|
|
|
configurations. <span style="color:red">The user can select a different
|
|
|
|
configurations. <span style="color:red">The user can select a different
|
|
|
|
tool-chain from the project type if desired. This allows a project type to be
|
|
|
|
tool-chain from the project type if desired. This allows a project type to be
|
|
|
|
defined (e.g., “Gnu Executable”) that contains tool-chains for multiple
|
|
|
|
defined (e.g., “Gnu Executable”) that contains tool-chains for multiple
|
|
|
|
combinations of host and target platforms, and/or for multiple versions of a
|
|
|
|
combinations of host and target platforms, and/or for multiple versions of a
|
|
|
|
tool-chain. It should be easy for a user to take an existing CDT project to a
|
|
|
|
tool-chain. It should be easy for a user to take an existing CDT project to a
|
|
|
|
different host system and quickly create a configuration that builds on that
|
|
|
|
different host system and quickly create a configuration that builds on that
|
|
|
@ -545,21 +545,21 @@ and modify the following attributes of the tool-chain: </p>
|
|
|
|
<li class="MsoNormal" style="margin-top: 6.0pt">
|
|
|
|
<li class="MsoNormal" style="margin-top: 6.0pt">
|
|
|
|
<font face="arial, helvetica, geneva" size="2"><span style="color:red">The
|
|
|
|
<font face="arial, helvetica, geneva" size="2"><span style="color:red">The
|
|
|
|
mapping of an individual resource to a tool: </span>
|
|
|
|
mapping of an individual resource to a tool: </span>
|
|
|
|
<span style="color:red">The available tools come from the configuration’s
|
|
|
|
<span style="color:red">The available tools come from the configuration’s
|
|
|
|
tool-chain, from a different tool-chain or from individually defined tools.</span></font></li>
|
|
|
|
tool-chain, from a different tool-chain or from individually defined tools.</span></font></li>
|
|
|
|
<li class="MsoNormal" style="margin-top: 6.0pt">
|
|
|
|
<li class="MsoNormal" style="margin-top: 6.0pt">
|
|
|
|
<font face="arial, helvetica, geneva" size="2"><span style="color:red">The
|
|
|
|
<font face="arial, helvetica, geneva" size="2"><span style="color:red">The
|
|
|
|
mapping of a set file extensions to a category of tools
|
|
|
|
mapping of a set file extensions to a category of tools
|
|
|
|
or a specific tool: The user can modify the current assignments and add new
|
|
|
|
or a specific tool: The user can modify the current assignments and add new
|
|
|
|
assignments. The available tools come from the configuration’s tool-chain,
|
|
|
|
assignments. The available tools come from the configuration’s tool-chain,
|
|
|
|
from a different tool-chain or from individually defined tools.</span></font></li>
|
|
|
|
from a different tool-chain or from individually defined tools.</span></font></li>
|
|
|
|
</ol>
|
|
|
|
</ol>
|
|
|
|
<h3 class="subsection">2.1.4 Modifying the Tool Options of the Configuration</h3>
|
|
|
|
<h3 class="subsection">2.1.4 Modifying the Tool Options of the Configuration</h3>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user can modify the options of
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user can modify the options of
|
|
|
|
an individual configuration<font color="#FF0000">, or he can make changes to a set of configurations
|
|
|
|
an individual configuration<font color="#FF0000">, or he can make changes to a set of configurations
|
|
|
|
that he has selected</font>. <font color="#FF0000">The user can select a set of configurations individually</font><span style="color:red">
|
|
|
|
that he has selected</font>. <font color="#FF0000">The user can select a set of configurations individually</font><span style="color:red">
|
|
|
|
or by selecting a “category” of configurations. The names of the categories are
|
|
|
|
or by selecting a “category” of configurations. The names of the categories are
|
|
|
|
defined by the configuration provider – “debug” and “release” are commonly
|
|
|
|
defined by the configuration provider – “debug” and “release” are commonly
|
|
|
|
supported. Categories which group configurations by target platform could also
|
|
|
|
supported. Categories which group configurations by target platform could also
|
|
|
|
be useful. </span></p>
|
|
|
|
be useful. </span></p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user can modify the options of
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user can modify the options of
|
|
|
@ -569,7 +569,7 @@ is not valid. The current value of a build setting is bolded if the value
|
|
|
|
different from the default value for the tool. The user can easily set the
|
|
|
|
different from the default value for the tool. The user can easily set the
|
|
|
|
value back to the default value without knowing what the default value is.</span></p>
|
|
|
|
value back to the default value without knowing what the default value is.</span></p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt"><span style="color:red">The user
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt"><span style="color:red">The user
|
|
|
|
can modify certain “well known” build settings for multiple selected
|
|
|
|
can modify certain “well known” build settings for multiple selected
|
|
|
|
configurations, even when the configurations do not use the same tool-chain.</span></p>
|
|
|
|
configurations, even when the configurations do not use the same tool-chain.</span></p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user
|
|
|
|
can use Build Macros in all options that accept text. MBS pre-defines many
|
|
|
|
can use Build Macros in all options that accept text. MBS pre-defines many
|
|
|
@ -578,9 +578,9 @@ additional macros. Additional macros can be defined in the MBS preferences
|
|
|
|
and for individual projects or configurations. Build Macros are referenced in strings by
|
|
|
|
and for individual projects or configurations. Build Macros are referenced in strings by
|
|
|
|
enclosing them in braces, preceded by a dollar sign.</p>
|
|
|
|
enclosing them in braces, preceded by a dollar sign.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt"><span style="color:red">Tool
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt"><span style="color:red">Tool
|
|
|
|
integrators may define property setting “wizards” that modify sets of tool
|
|
|
|
integrators may define property setting “wizards” that modify sets of tool
|
|
|
|
options in order to reach an overall user-desired goal. An example would be a
|
|
|
|
options in order to reach an overall user-desired goal. An example would be a
|
|
|
|
“Most Highly Optimized Build” wizard that set options on multiple tools.</span></p>
|
|
|
|
“Most Highly Optimized Build” wizard that set options on multiple tools.</span></p>
|
|
|
|
<h3 class="subsection">2.1.5 Modifying the Tool Options of an Individual File</h3>
|
|
|
|
<h3 class="subsection">2.1.5 Modifying the Tool Options of an Individual File</h3>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user can specify different
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The user can specify different
|
|
|
|
configuration specific build settings for individual files in the project.<span style="color:red">
|
|
|
|
configuration specific build settings for individual files in the project.<span style="color:red">
|
|
|
@ -740,7 +740,7 @@ in the UI and new project wizards.</p>
|
|
|
|
hierarchies to promote the efficient sharing of configurations. If you have
|
|
|
|
hierarchies to promote the efficient sharing of configurations. If you have
|
|
|
|
defined a project-type that should not be selected by the user, but is a root
|
|
|
|
defined a project-type that should not be selected by the user, but is a root
|
|
|
|
for other project-types, it may be declared abstract by setting the <i>
|
|
|
|
for other project-types, it may be declared abstract by setting the <i>
|
|
|
|
isAbstract</i> attribute to ‘true’. Abstract project-types do not appear in the
|
|
|
|
isAbstract</i> attribute to ‘true’. Abstract project-types do not appear in the
|
|
|
|
UI. Descendents of an abstract project-type will have the same
|
|
|
|
UI. Descendents of an abstract project-type will have the same
|
|
|
|
configurations that the abstract project-type has. For these children to
|
|
|
|
configurations that the abstract project-type has. For these children to
|
|
|
|
function properly, their <i>superClass</i> attribute must contain
|
|
|
|
function properly, their <i>superClass</i> attribute must contain
|
|
|
@ -950,7 +950,7 @@ CDT user creates a new Managed Build project:</p>
|
|
|
|
the selected configuration element.</font></li>
|
|
|
|
the selected configuration element.</font></li>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">For each tool element
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">For each tool element
|
|
|
|
child of the tool-chain that is the child of the selected configuration
|
|
|
|
child of the tool-chain that is the child of the selected configuration
|
|
|
|
element, create a tool element child of the cloned configuration’s
|
|
|
|
element, create a tool element child of the cloned configuration’s
|
|
|
|
tool-chain element that specifies the original tool element as its <i>
|
|
|
|
tool-chain element that specifies the original tool element as its <i>
|
|
|
|
superClass</i>.</font></li>
|
|
|
|
superClass</i>.</font></li>
|
|
|
|
</ol>
|
|
|
|
</ol>
|
|
|
@ -1011,12 +1011,12 @@ UI. This is the name that the user entered in the New Project wizard.</td>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The configuration element
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The configuration element
|
|
|
|
represents the configuration in the user model. A tool-integrator defines
|
|
|
|
represents the configuration in the user model. A tool-integrator defines
|
|
|
|
default configurations as children of the project type. These provide a
|
|
|
|
default configurations as children of the project type. These provide a
|
|
|
|
template for the configurations added to the user’s project, which are stored in
|
|
|
|
template for the configurations added to the user’s project, which are stored in
|
|
|
|
the project’s .cdtbuild file. A projectType must have at least one default
|
|
|
|
the project’s .cdtbuild file. A projectType must have at least one default
|
|
|
|
configuration defined for it, and a project must always contain at least one
|
|
|
|
configuration defined for it, and a project must always contain at least one
|
|
|
|
configuration.</p>
|
|
|
|
configuration.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The configuration contains one
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The configuration contains one
|
|
|
|
child of type tool-chain. This describes how the project’s resources are
|
|
|
|
child of type tool-chain. This describes how the project’s resources are
|
|
|
|
transformed into the build artifact. The configuration is responsible for
|
|
|
|
transformed into the build artifact. The configuration is responsible for
|
|
|
|
maintaining the name of the final build goal. The user selects the name of the
|
|
|
|
maintaining the name of the final build goal. The user selects the name of the
|
|
|
|
build artifact in the UI, and the configuration maintains it in the <i>
|
|
|
|
build artifact in the UI, and the configuration maintains it in the <i>
|
|
|
@ -1028,7 +1028,7 @@ the configuration as a whole. </p>
|
|
|
|
attribute that will be used by the build model to manage the
|
|
|
|
attribute that will be used by the build model to manage the
|
|
|
|
configuration. It must also have a <var>name</var> that will be
|
|
|
|
configuration. It must also have a <var>name</var> that will be
|
|
|
|
displayed in the UI in the build property page and new project wizards.
|
|
|
|
displayed in the UI in the build property page and new project wizards.
|
|
|
|
The configuration contains the information needed to “clean” the build files on
|
|
|
|
The configuration contains the information needed to “clean” the build files on
|
|
|
|
the host machine. The configuration can specify the <i>cleanCommand</i>
|
|
|
|
the host machine. The configuration can specify the <i>cleanCommand</i>
|
|
|
|
attribute which specifies a command that removes the build files.</p>
|
|
|
|
attribute which specifies a command that removes the build files.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The<i> prebuildStep,
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The<i> prebuildStep,
|
|
|
@ -1109,7 +1109,7 @@ track of this specific configuration.</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
<font size="2">The extension that the build goal will have, for example
|
|
|
|
<font size="2">The extension that the build goal will have, for example
|
|
|
|
‘.exe’ or ‘.so’</font></td>
|
|
|
|
‘.exe’ or ‘.so’</font></td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
in hierarchy</td>
|
|
|
|
in hierarchy</td>
|
|
|
@ -1229,7 +1229,7 @@ track of this specific configuration.</td>
|
|
|
|
<p class="subsection"><a name="_TocSectionGrammar_5">3.5 Tool Chain</a></p>
|
|
|
|
<p class="subsection"><a name="_TocSectionGrammar_5">3.5 Tool Chain</a></p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The toolChain element represents
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The toolChain element represents
|
|
|
|
the tool chain in the user model. It is a tool-integrator-defined set
|
|
|
|
the tool chain in the user model. It is a tool-integrator-defined set
|
|
|
|
of tools that transform the project’s input into the project’s outputs. A
|
|
|
|
of tools that transform the project’s input into the project’s outputs. A
|
|
|
|
tool-chain can be defined as part of a configuration, or as an independent
|
|
|
|
tool-chain can be defined as part of a configuration, or as an independent
|
|
|
|
specification that is referenced in a separate configuration via the toolChain
|
|
|
|
specification that is referenced in a separate configuration via the toolChain
|
|
|
|
superclass attribute.</p>
|
|
|
|
superclass attribute.</p>
|
|
|
@ -1239,7 +1239,7 @@ children of type tool. These define the tools used in the tool-chain.</p>
|
|
|
|
of type targetPlatform. This defines the architecture/os combination(s) where
|
|
|
|
of type targetPlatform. This defines the architecture/os combination(s) where
|
|
|
|
the outputs of the project can be deployed.</p>
|
|
|
|
the outputs of the project can be deployed.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The toolChain contains one child
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The toolChain contains one child
|
|
|
|
of type builder. This defines the “build” or “make” utility that is used to
|
|
|
|
of type builder. This defines the “build” or “make” utility that is used to
|
|
|
|
drive the transformation of the inputs into outputs. </p>
|
|
|
|
drive the transformation of the inputs into outputs. </p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The tooChain may contain one or
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The tooChain may contain one or
|
|
|
|
more children of type optionCategory and option. These define tool-chain
|
|
|
|
more children of type optionCategory and option. These define tool-chain
|
|
|
@ -1267,7 +1267,7 @@ definition and specify the id with version number of the tool chain definition
|
|
|
|
to convert to in the <i>convertToId</i> attribute. If changes to the project
|
|
|
|
to convert to in the <i>convertToId</i> attribute. If changes to the project
|
|
|
|
information need to be performed by the conversion, the tool chain must provide
|
|
|
|
information need to be performed by the conversion, the tool chain must provide
|
|
|
|
a converter extension to perform the conversion. If no converter extension is
|
|
|
|
a converter extension to perform the conversion. If no converter extension is
|
|
|
|
provided, then there won’t be any conversion. See § 8.2 for additional
|
|
|
|
provided, then there won’t be any conversion. See § 8.2 for additional
|
|
|
|
information.</p>
|
|
|
|
information.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A tool-chain may define a
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A tool-chain may define a
|
|
|
|
configuration level environment variable provider in the <i>configurationEnvironmentSupplier</i> attribute. See §
|
|
|
|
configuration level environment variable provider in the <i>configurationEnvironmentSupplier</i> attribute. See §
|
|
|
@ -1575,7 +1575,7 @@ the schema table below.</p>
|
|
|
|
<p class="subsection"><a name="_TocSectionGrammar_6">3.6 Builder</a></p>
|
|
|
|
<p class="subsection"><a name="_TocSectionGrammar_6">3.6 Builder</a></p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The builder element represents the
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The builder element represents the
|
|
|
|
utility that drives the build process (typically, but not necessarily, a variant
|
|
|
|
utility that drives the build process (typically, but not necessarily, a variant
|
|
|
|
of “make”). It defines the command needed to invoke the build utility in the <i>
|
|
|
|
of “make”). It defines the command needed to invoke the build utility in the <i>
|
|
|
|
command</i> attribute. Any special flags that need to be passed to the builder
|
|
|
|
command</i> attribute. Any special flags that need to be passed to the builder
|
|
|
|
are defined in the <i>arguments</i> attribute. The builder can specify the
|
|
|
|
are defined in the <i>arguments</i> attribute. The builder can specify the
|
|
|
|
error parser(s) to be used to parse its output. The builder also specifies a
|
|
|
|
error parser(s) to be used to parse its output. The builder also specifies a
|
|
|
@ -1613,7 +1613,7 @@ specify the id with version number of the new builder to convert to in the <i>
|
|
|
|
convertToId</i> attribute. If changes to the project information need to be
|
|
|
|
convertToId</i> attribute. If changes to the project information need to be
|
|
|
|
performed by the conversion, the tool chain definition must provide a converter
|
|
|
|
performed by the conversion, the tool chain definition must provide a converter
|
|
|
|
extension to perform the conversion. If no converter extension is provided,
|
|
|
|
extension to perform the conversion. If no converter extension is provided,
|
|
|
|
then there won’t be any conversion. See § 8.2 for additional information.</p>
|
|
|
|
then there won’t be any conversion. See § 8.2 for additional information.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">Additional builder attributes are described in
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">Additional builder attributes are described in
|
|
|
|
the schema table below.</p>
|
|
|
|
the schema table below.</p>
|
|
|
|
<p class="subsection">3.6.1 Schema</p>
|
|
|
|
<p class="subsection">3.6.1 Schema</p>
|
|
|
@ -1708,7 +1708,7 @@ track of this specific builder.</font></td>
|
|
|
|
builder. If the user changes the flags through the UI, the overriden
|
|
|
|
builder. If the user changes the flags through the UI, the overriden
|
|
|
|
value will be stored in the project build settings file. The build model
|
|
|
|
value will be stored in the project build settings file. The build model
|
|
|
|
will default to this value if the user ever resets a change. The default
|
|
|
|
will default to this value if the user ever resets a change. The default
|
|
|
|
is “-k”.</font></td>
|
|
|
|
is “-k”.</font></td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
<font face="Arial">no</font></td>
|
|
|
|
<font face="Arial">no</font></td>
|
|
|
@ -1778,8 +1778,8 @@ track of this specific builder.</font></td>
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
valign="top">
|
|
|
|
valign="top">
|
|
|
|
<span style="font-family: Arial"><font size="2">Specifies whether the
|
|
|
|
<span style="font-family: Arial"><font size="2">Specifies whether the
|
|
|
|
builder variables are case sensitive or not. Can be set to either “true”
|
|
|
|
builder variables are case sensitive or not. Can be set to either “true”
|
|
|
|
or “false”. The default is “true”. If the builder does not support
|
|
|
|
or “false”. The default is “true”. If the builder does not support
|
|
|
|
case-sensitive variables and there are some build environment variables
|
|
|
|
case-sensitive variables and there are some build environment variables
|
|
|
|
that differ only in case (Environment variables on Unix-like operating
|
|
|
|
that differ only in case (Environment variables on Unix-like operating
|
|
|
|
systems are case sensitive), then those macros will always get resolved
|
|
|
|
systems are case sensitive), then those macros will always get resolved
|
|
|
@ -1801,8 +1801,8 @@ track of this specific builder.</font></td>
|
|
|
|
<p class="MsoNormal"><font face="Arial">Comma-separated list of reserved
|
|
|
|
<p class="MsoNormal"><font face="Arial">Comma-separated list of reserved
|
|
|
|
macro names. The macro name could contain either the exact name or the
|
|
|
|
macro names. The macro name could contain either the exact name or the
|
|
|
|
java regular expression. The latter could be used to supply the pattern
|
|
|
|
java regular expression. The latter could be used to supply the pattern
|
|
|
|
of variable names that are generated by MBS in case the “buildVariable”
|
|
|
|
of variable names that are generated by MBS in case the “buildVariable”
|
|
|
|
attribute of the “InputType” element is not specified, etc. If
|
|
|
|
attribute of the “InputType” element is not specified, etc. If
|
|
|
|
this attribute is specified and the reservedMacroNameSupplier is not
|
|
|
|
this attribute is specified and the reservedMacroNameSupplier is not
|
|
|
|
specified, the following macro names will be treated as reserved:</font></p>
|
|
|
|
specified, the following macro names will be treated as reserved:</font></p>
|
|
|
|
<p class="MsoNormal" style="text-indent: -.25in; margin-left: .25in">
|
|
|
|
<p class="MsoNormal" style="text-indent: -.25in; margin-left: .25in">
|
|
|
@ -1820,7 +1820,7 @@ track of this specific builder.</font></td>
|
|
|
|
<span style="font-family: Arial"><font size="2">If this attribute is not
|
|
|
|
<span style="font-family: Arial"><font size="2">If this attribute is not
|
|
|
|
specified, MBS will assume that there are no reserved macro names that
|
|
|
|
specified, MBS will assume that there are no reserved macro names that
|
|
|
|
could conflict with the build environment variable macros, except names
|
|
|
|
could conflict with the build environment variable macros, except names
|
|
|
|
specified in the “buildVariable” attribute of the “InputType” elements:
|
|
|
|
specified in the “buildVariable” attribute of the “InputType” elements:
|
|
|
|
these names will always be treated as reserved.</font></span></td>
|
|
|
|
these names will always be treated as reserved.</font></span></td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
@ -2214,8 +2214,8 @@ independent specification.</p>
|
|
|
|
children of type option which define the tool command line settings that can be
|
|
|
|
children of type option which define the tool command line settings that can be
|
|
|
|
changed by the user.</p>
|
|
|
|
changed by the user.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A tool may contain one or more
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A tool may contain one or more
|
|
|
|
children of type optionCategory. These are used to simplify the user’s
|
|
|
|
children of type optionCategory. These are used to simplify the user’s
|
|
|
|
managements of the tool‘s settings by dividing the options into a hierarchy of
|
|
|
|
managements of the tool‘s settings by dividing the options into a hierarchy of
|
|
|
|
categories. </p>
|
|
|
|
categories. </p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A tool may contain one or more
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A tool may contain one or more
|
|
|
|
children of type inputType and outputType. These define the inputs and
|
|
|
|
children of type inputType and outputType. These define the inputs and
|
|
|
@ -2228,16 +2228,16 @@ library paths.</p>
|
|
|
|
certain kinds of projects. For example, the Gnu compiler is invoked differently
|
|
|
|
certain kinds of projects. For example, the Gnu compiler is invoked differently
|
|
|
|
for C and C++ source files. You can specify a filter for a tool based on the
|
|
|
|
for C and C++ source files. You can specify a filter for a tool based on the
|
|
|
|
nature of a project using the <i>natureFilter</i> attribute. When a new C
|
|
|
|
nature of a project using the <i>natureFilter</i> attribute. When a new C
|
|
|
|
project is created, a “cnature” is added to it. New C++ projects have both a
|
|
|
|
project is created, a “cnature” is added to it. New C++ projects have both a
|
|
|
|
“cnature” and “ccnature”. The build model interprets the filter as follows. If
|
|
|
|
“cnature” and “ccnature”. The build model interprets the filter as follows. If
|
|
|
|
you specify a ‘cnature’ filter, then the tool will only be displayed if the
|
|
|
|
you specify a ‘cnature’ filter, then the tool will only be displayed if the
|
|
|
|
project has a “cnature” and does <i>not</i> have a “ccnature”. If you specify a
|
|
|
|
project has a “cnature” and does <i>not</i> have a “ccnature”. If you specify a
|
|
|
|
‘ccnature’ filter, then the tool will be displayed if the project has a “ccnature”.
|
|
|
|
‘ccnature’ filter, then the tool will be displayed if the project has a “ccnature”.
|
|
|
|
The default if no filter is specified is to display the tool for all projects.</p>
|
|
|
|
The default if no filter is specified is to display the tool for all projects.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">Each tool specifies a <i>command</i>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">Each tool specifies a <i>command</i>
|
|
|
|
that will be placed in the build file during the build file generation stage of
|
|
|
|
that will be placed in the build file during the build file generation stage of
|
|
|
|
building. If the tool
|
|
|
|
building. If the tool
|
|
|
|
requires a special output flag, such as ‘-o’ for a compiler or linker, the
|
|
|
|
requires a special output flag, such as ‘-o’ for a compiler or linker, the
|
|
|
|
implementer must specify that in the <i>outputFlag</i> attribute.</p>
|
|
|
|
implementer must specify that in the <i>outputFlag</i> attribute.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The <i>commandLineGenerator</i>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The <i>commandLineGenerator</i>
|
|
|
|
attribute allows the implementer to specify a class that implements the <code>IManagedCommandLineGenerator</code>
|
|
|
|
attribute allows the implementer to specify a class that implements the <code>IManagedCommandLineGenerator</code>
|
|
|
@ -2252,7 +2252,7 @@ a tool, they continue to ship the old tool definition and specify the id with
|
|
|
|
version number of the tool to convert to in the <i>convertToId</i> attribute.
|
|
|
|
version number of the tool to convert to in the <i>convertToId</i> attribute.
|
|
|
|
If changes to the project information need to be performed by the conversion,
|
|
|
|
If changes to the project information need to be performed by the conversion,
|
|
|
|
the tool chain must provide a converter extension to perform the conversion. If
|
|
|
|
the tool chain must provide a converter extension to perform the conversion. If
|
|
|
|
no converter extension is provided, then there won’t be any conversion.
|
|
|
|
no converter extension is provided, then there won’t be any conversion.
|
|
|
|
See § 8.2 for additional information.</p>
|
|
|
|
See § 8.2 for additional information.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">Additional tool attributes are
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">Additional tool attributes are
|
|
|
|
described in the schema table below.</p>
|
|
|
|
described in the schema table below.</p>
|
|
|
@ -2469,7 +2469,7 @@ Gnu C compiler, or g++ for the Gnu C++ compiler.</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
valign="top">
|
|
|
|
valign="top">
|
|
|
|
<font size="2">Specifies a command “pattern” that indicates how the parts
|
|
|
|
<font size="2">Specifies a command “pattern” that indicates how the parts
|
|
|
|
of the command line are used to create the entire command line. The
|
|
|
|
of the command line are used to create the entire command line. The
|
|
|
|
pattern consists of the replaceable variables COMMAND, FLAGS,
|
|
|
|
pattern consists of the replaceable variables COMMAND, FLAGS,
|
|
|
|
OUTPUT_FLAG, OUTPUT_PREFIX, OUTPUT and INPUTS. The default command line
|
|
|
|
OUTPUT_FLAG, OUTPUT_PREFIX, OUTPUT and INPUTS. The default command line
|
|
|
@ -2494,7 +2494,7 @@ Gnu C compiler, or g++ for the Gnu C++ compiler.</td>
|
|
|
|
<span style="font-family: Arial"><font size="2">When True, indicates that
|
|
|
|
<span style="font-family: Arial"><font size="2">When True, indicates that
|
|
|
|
the Tool represents a CDT end-user-defined custom build step. The default is
|
|
|
|
the Tool represents a CDT end-user-defined custom build step. The default is
|
|
|
|
False. When True, the default value of the commandLinePattern attribute
|
|
|
|
False. When True, the default value of the commandLinePattern attribute
|
|
|
|
changes to “$(command)”. This attribute is used by the
|
|
|
|
changes to “$(command)”. This attribute is used by the
|
|
|
|
implementation of Custom Build Steps on the MBS configuration property
|
|
|
|
implementation of Custom Build Steps on the MBS configuration property
|
|
|
|
page. It is not intended for use by tools defined by a
|
|
|
|
page. It is not intended for use by tools defined by a
|
|
|
|
tool-integrator.</font></span></td>
|
|
|
|
tool-integrator.</font></span></td>
|
|
|
@ -2531,8 +2531,8 @@ Gnu C compiler, or g++ for the Gnu C++ compiler.</td>
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
valign="top">
|
|
|
|
valign="top">
|
|
|
|
Specifies a string that is written to the build output prior to each
|
|
|
|
Specifies a string that is written to the build output prior to each
|
|
|
|
invocation of the tool. The default value is “Invoking tool-name
|
|
|
|
invocation of the tool. The default value is “Invoking tool-name
|
|
|
|
(tool-id)…”</td>
|
|
|
|
(tool-id)…”</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
valign="top">
|
|
|
|
valign="top">
|
|
|
@ -2928,7 +2928,7 @@ attributes of the InputType element are described in the table below.</p>
|
|
|
|
<span style="font-family: Arial"><font size="2">A variable used in the
|
|
|
|
<span style="font-family: Arial"><font size="2">A variable used in the
|
|
|
|
build file to represent the list of input files. The same variable name
|
|
|
|
build file to represent the list of input files. The same variable name
|
|
|
|
can be used by an outputType to identify a set of output files that
|
|
|
|
can be used by an outputType to identify a set of output files that
|
|
|
|
contribute to this tool’s input (i.e., those using the same
|
|
|
|
contribute to this tool’s input (i.e., those using the same
|
|
|
|
buildVariable name). A build variable is ignored when multipleOfType is
|
|
|
|
buildVariable name). A build variable is ignored when multipleOfType is
|
|
|
|
false and this is the primary input of the tool. The default name is
|
|
|
|
false and this is the primary input of the tool. The default name is
|
|
|
|
chosen by MBS.</font></span></td>
|
|
|
|
chosen by MBS.</font></span></td>
|
|
|
@ -3033,7 +3033,7 @@ to generate correct build files, and to allow for input ordering. The prec
|
|
|
|
order for determining the output resource names is the following:</p>
|
|
|
|
order for determining the output resource names is the following:</p>
|
|
|
|
<ol style="margin-top: 0in; margin-bottom: 0in" start="1" type="1">
|
|
|
|
<ol style="margin-top: 0in; margin-bottom: 0in" start="1" type="1">
|
|
|
|
<li class="MsoNormal" style="margin-top: 6.0pt"><font face="Arial" size="2">
|
|
|
|
<li class="MsoNormal" style="margin-top: 6.0pt"><font face="Arial" size="2">
|
|
|
|
If this is the “target” tool in the tool-chain, and this is the primary
|
|
|
|
If this is the “target” tool in the tool-chain, and this is the primary
|
|
|
|
OutputType, use the user-defined artifact name and extension.</font></li>
|
|
|
|
OutputType, use the user-defined artifact name and extension.</font></li>
|
|
|
|
<li class="MsoNormal" style="margin-top: 6.0pt"><font face="Arial" size="2">
|
|
|
|
<li class="MsoNormal" style="margin-top: 6.0pt"><font face="Arial" size="2">
|
|
|
|
If the <i>option</i> attribute is specified, use the value of the option.</font></li>
|
|
|
|
If the <i>option</i> attribute is specified, use the value of the option.</font></li>
|
|
|
@ -3047,7 +3047,7 @@ order for determining the output resource names is the following:</p>
|
|
|
|
file name.</font></li>
|
|
|
|
file name.</font></li>
|
|
|
|
</ol>
|
|
|
|
</ol>
|
|
|
|
<p> If the output of the tool usually has a special prefix, like the prefix
|
|
|
|
<p> If the output of the tool usually has a special prefix, like the prefix
|
|
|
|
‘lib’ for libraries on POSIX systems, the implementer must specify this in the <i>outputPrefix</i>
|
|
|
|
‘lib’ for libraries on POSIX systems, the implementer must specify this in the <i>outputPrefix</i>
|
|
|
|
attribute.</p>
|
|
|
|
attribute.</p>
|
|
|
|
<p class="subsection">3.11.1 Schema</p>
|
|
|
|
<p class="subsection">3.11.1 Schema</p>
|
|
|
|
<table
|
|
|
|
<table
|
|
|
@ -3149,7 +3149,7 @@ attribute.</p>
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
valign="top">
|
|
|
|
valign="top">
|
|
|
|
The id of the option that is used on the command line to specify this
|
|
|
|
The id of the option that is used on the command line to specify this
|
|
|
|
output. The default is to use the Tool “outputFlag” attribute if
|
|
|
|
output. The default is to use the Tool “outputFlag” attribute if
|
|
|
|
primaryOutput is True. If option is not specified, and primaryOutput is
|
|
|
|
primaryOutput is True. If option is not specified, and primaryOutput is
|
|
|
|
False, then the output file(s) of this outputType are not added to the
|
|
|
|
False, then the output file(s) of this outputType are not added to the
|
|
|
|
command line. If specified, the nameProvider, namePattern and
|
|
|
|
command line. If specified, the nameProvider, namePattern and
|
|
|
@ -3183,7 +3183,7 @@ attribute.</p>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
valign="top">
|
|
|
|
valign="top">
|
|
|
|
Id of the input type that is used in determining the build “rules” for the
|
|
|
|
Id of the input type that is used in determining the build “rules” for the
|
|
|
|
output type and for the default name of the output file. The default is
|
|
|
|
output type and for the default name of the output file. The default is
|
|
|
|
the input type with primaryInput == true.</td>
|
|
|
|
the input type with primaryInput == true.</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
@ -3216,8 +3216,8 @@ attribute.</p>
|
|
|
|
valign="top" height="83">
|
|
|
|
valign="top" height="83">
|
|
|
|
Some tools produce files with a special prefix that must be specified.
|
|
|
|
Some tools produce files with a special prefix that must be specified.
|
|
|
|
For example, a librarian on POSIX systems expects the output to be lib.a
|
|
|
|
For example, a librarian on POSIX systems expects the output to be lib.a
|
|
|
|
so ‘lib’ would be the prefix. The default is to use the Tool
|
|
|
|
so ‘lib’ would be the prefix. The default is to use the Tool
|
|
|
|
“outputPrefix” attribute if primaryOutput is True, otherwise the default
|
|
|
|
“outputPrefix” attribute if primaryOutput is True, otherwise the default
|
|
|
|
is an empty string.</td>
|
|
|
|
is an empty string.</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
@ -3250,7 +3250,7 @@ attribute.</p>
|
|
|
|
valign="top">
|
|
|
|
valign="top">
|
|
|
|
Specifies a name pattern with the file extension, using the Gnu pattern
|
|
|
|
Specifies a name pattern with the file extension, using the Gnu pattern
|
|
|
|
rule syntax, for deriving the output resource name from the input
|
|
|
|
rule syntax, for deriving the output resource name from the input
|
|
|
|
resource name. The default, “%”, is to use the input file base filename
|
|
|
|
resource name. The default, “%”, is to use the input file base filename
|
|
|
|
with the output extension.</td>
|
|
|
|
with the output extension.</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
@ -3285,7 +3285,7 @@ attribute.</p>
|
|
|
|
valign="top">
|
|
|
|
valign="top">
|
|
|
|
A variable used in the build file to represent the list of output files.
|
|
|
|
A variable used in the build file to represent the list of output files.
|
|
|
|
The same variable name can be used by an inputType to identify a set of
|
|
|
|
The same variable name can be used by an inputType to identify a set of
|
|
|
|
output files that contribute to the tool’s input (i.e., those using the
|
|
|
|
output files that contribute to the tool’s input (i.e., those using the
|
|
|
|
same buildVariable name). The default name is chosen by MBS.</td>
|
|
|
|
same buildVariable name). The default name is chosen by MBS.</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
@ -3419,7 +3419,7 @@ to
|
|
|
|
indicate to the build model what kind of option it is.</p>
|
|
|
|
indicate to the build model what kind of option it is.</p>
|
|
|
|
<p>Specifying the type of value an option contains is an important
|
|
|
|
<p>Specifying the type of value an option contains is an important
|
|
|
|
design decision, since it controls how the build model treats the
|
|
|
|
design decision, since it controls how the build model treats the
|
|
|
|
contents of the option’s attributes, and just as importantly, how the
|
|
|
|
contents of the option’s attributes, and just as importantly, how the
|
|
|
|
option is displayed to the user. The basic types are <code>string</code>,
|
|
|
|
option is displayed to the user. The basic types are <code>string</code>,
|
|
|
|
<code>boolean</code>, <code>stringList</code>, and <code>enumerated</code>.
|
|
|
|
<code>boolean</code>, <code>stringList</code>, and <code>enumerated</code>.
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
@ -3493,18 +3493,18 @@ MBS performs the following steps until a value is found:</p>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Examine the <i>value</i>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Examine the <i>value</i>
|
|
|
|
attribute of the option.</font></li>
|
|
|
|
attribute of the option.</font></li>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Examine the <i>value</i>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Examine the <i>value</i>
|
|
|
|
attribute of the option’s <i>superClass </i>recursively.</font></li>
|
|
|
|
attribute of the option’s <i>superClass </i>recursively.</font></li>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Examine the <i>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Examine the <i>
|
|
|
|
defaultValue</i> attribute of the option.</font></li>
|
|
|
|
defaultValue</i> attribute of the option.</font></li>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Examine the <i>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Examine the <i>
|
|
|
|
defaultValue</i> attribute of the option’s <i>superClass recursively</i>.</font></li>
|
|
|
|
defaultValue</i> attribute of the option’s <i>superClass recursively</i>.</font></li>
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Use the default value for
|
|
|
|
<li><font face="arial, helvetica, geneva" size="2">Use the default value for
|
|
|
|
the option type.</font></li>
|
|
|
|
the option type.</font></li>
|
|
|
|
</ol>
|
|
|
|
</ol>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The type of option will determine
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The type of option will determine
|
|
|
|
how the build model treats the value it finds associated with the attribute.
|
|
|
|
how the build model treats the value it finds associated with the attribute.
|
|
|
|
Options that define simple string values will use the value as-is as described
|
|
|
|
Options that define simple string values will use the value as-is as described
|
|
|
|
below. For boolean options any value but the string ‘true’ will be treated as
|
|
|
|
below. For boolean options any value but the string ‘true’ will be treated as
|
|
|
|
false. List options treat all the defined list option values as default, and
|
|
|
|
false. List options treat all the defined list option values as default, and
|
|
|
|
enumerated options search through the defined enumerated values for the default.</p>
|
|
|
|
enumerated options search through the defined enumerated values for the default.</p>
|
|
|
|
<p class="subsection">3.13.3 Option Commands</p>
|
|
|
|
<p class="subsection">3.13.3 Option Commands</p>
|
|
|
@ -3512,7 +3512,7 @@ enumerated options search through the defined enumerated values for the default.
|
|
|
|
are passed to build tools with unique flags, depending on the compiler and the
|
|
|
|
are passed to build tools with unique flags, depending on the compiler and the
|
|
|
|
option. For example, an option defining the paths a linker should search for
|
|
|
|
option. For example, an option defining the paths a linker should search for
|
|
|
|
libraries might contain a large number of search paths, but each path is passed
|
|
|
|
libraries might contain a large number of search paths, but each path is passed
|
|
|
|
to the linker with a ‘-L’ flag. The <i>command</i> attribute is used to hold the
|
|
|
|
to the linker with a ‘-L’ flag. The <i>command</i> attribute is used to hold the
|
|
|
|
actual flag to pass along with the option value. </p>
|
|
|
|
actual flag to pass along with the option value. </p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The build model handles the value
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The build model handles the value
|
|
|
|
it finds associated with the command attribute differently depending on the type
|
|
|
|
it finds associated with the command attribute differently depending on the type
|
|
|
@ -3762,7 +3762,7 @@ can be the id of the tool which is also a category. The default category
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;" height="18">
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;" height="18">
|
|
|
|
<font size="2">Value assigned to the option by the end user or in a
|
|
|
|
<font size="2">Value assigned to the option by the end user or in a
|
|
|
|
default configuration. </font>For options containing a Boolean
|
|
|
|
default configuration. </font>For options containing a Boolean
|
|
|
|
value, the string ‘true’ is treated as true, any other value as false.</td>
|
|
|
|
value, the string ‘true’ is treated as true, any other value as false.</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;" height="18">
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;" height="18">
|
|
|
|
no</td>
|
|
|
|
no</td>
|
|
|
@ -3777,7 +3777,7 @@ can be the id of the tool which is also a category. The default category
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
<p>Optionally specifies the value for the option if the user has
|
|
|
|
<p>Optionally specifies the value for the option if the user has
|
|
|
|
not edited it. For options containing a Boolean value, the string
|
|
|
|
not edited it. For options containing a Boolean value, the string
|
|
|
|
‘true’ is treated as true, any other value as false.</p>
|
|
|
|
‘true’ is treated as true, any other value as false.</p>
|
|
|
|
</td>
|
|
|
|
</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
@ -3796,9 +3796,9 @@ not edited it. For options containing a Boolean value, the string
|
|
|
|
valign="top">
|
|
|
|
valign="top">
|
|
|
|
<p>An optional value that specifies the actual command that will
|
|
|
|
<p>An optional value that specifies the actual command that will
|
|
|
|
be passed to the tool on the command line. <font size="2">The command
|
|
|
|
be passed to the tool on the command line. <font size="2">The command
|
|
|
|
provides a “pattern” for specifying where the value should be placed for
|
|
|
|
provides a “pattern” for specifying where the value should be placed for
|
|
|
|
options of type string and stringlist. The pattern can
|
|
|
|
options of type string and stringlist. The pattern can
|
|
|
|
contain the replaceable variable “value”. If no ${value} is specified
|
|
|
|
contain the replaceable variable “value”. If no ${value} is specified
|
|
|
|
in the command, the option value is appended to the end of the specified
|
|
|
|
in the command, the option value is appended to the end of the specified
|
|
|
|
command.</font></p>
|
|
|
|
command.</font></p>
|
|
|
|
</td>
|
|
|
|
</td>
|
|
|
@ -3843,10 +3843,10 @@ needed.</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
valign="top"><font size="2">Specifies the resource types that this option
|
|
|
|
valign="top"><font size="2">Specifies the resource types that this option
|
|
|
|
applies to. The values are “project”, “file”, and “all”. The default
|
|
|
|
applies to. The values are “project”, “file”, and “all”. The default
|
|
|
|
is “all”. Specifying “project” indicates that the option is displayed
|
|
|
|
is “all”. Specifying “project” indicates that the option is displayed
|
|
|
|
when modifying a configuration’s options, but not when modifying an
|
|
|
|
when modifying a configuration’s options, but not when modifying an
|
|
|
|
individual file’s options. Specifying “file” indicates the opposite.</font></td>
|
|
|
|
individual file’s options. Specifying “file” indicates the opposite.</font></td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt;"
|
|
|
|
valign="top">no</td>
|
|
|
|
valign="top">no</td>
|
|
|
@ -3996,7 +3996,7 @@ be shown to the user in the UI. It also has a <var>command</var> which
|
|
|
|
should correspond to the command line option that gets passed to the
|
|
|
|
should correspond to the command line option that gets passed to the
|
|
|
|
tool by the builder if this element is selected.</p>
|
|
|
|
tool by the builder if this element is selected.</p>
|
|
|
|
<p>A default element can be indicated by setting the value of <var>isDefault</var>
|
|
|
|
<p>A default element can be indicated by setting the value of <var>isDefault</var>
|
|
|
|
to ‘true’. If the user has not overridden the selection in the UI, the
|
|
|
|
to ‘true’. If the user has not overridden the selection in the UI, the
|
|
|
|
default element will be displayed. If no default is specified, the
|
|
|
|
default element will be displayed. If no default is specified, the
|
|
|
|
first
|
|
|
|
first
|
|
|
|
element in the list is assumed to be the default and is displayed to
|
|
|
|
element in the list is assumed to be the default and is displayed to
|
|
|
@ -4210,8 +4210,8 @@ attributes are specified in the schema table below.</p>
|
|
|
|
pathType</td>
|
|
|
|
pathType</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
The build path type. Can be one of the following: “buildpathInclude”,
|
|
|
|
The build path type. Can be one of the following: “buildpathInclude”,
|
|
|
|
“buildpathLibrary”</td>
|
|
|
|
“buildpathLibrary”</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
yes</td>
|
|
|
|
yes</td>
|
|
|
@ -4238,9 +4238,9 @@ attributes are specified in the schema table below.</p>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
style="border-style: none solid solid none; border-width: medium 1pt 1pt medium; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
<p class="MsoNormal">Represent the delimiter used to separate the paths.
|
|
|
|
<p class="MsoNormal">Represent the delimiter used to separate the paths.
|
|
|
|
If omitted the default system delimiter will be used. That is the “:”
|
|
|
|
If omitted the default system delimiter will be used. That is the “:”
|
|
|
|
for Unix-like systems and the “;” for Windows systems. If the
|
|
|
|
for Unix-like systems and the “;” for Windows systems. If the
|
|
|
|
“buildPathResolver” attribute is specified, the “pathDelimiter” is
|
|
|
|
“buildPathResolver” attribute is specified, the “pathDelimiter” is
|
|
|
|
ignored</td>
|
|
|
|
ignored</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
@ -4262,7 +4262,7 @@ attributes are specified in the schema table below.</p>
|
|
|
|
The example of such a tool is gcc for Win32 Cygwin. The cygwin
|
|
|
|
The example of such a tool is gcc for Win32 Cygwin. The cygwin
|
|
|
|
version of gcc does not accept the windows-style paths stored in the
|
|
|
|
version of gcc does not accept the windows-style paths stored in the
|
|
|
|
build paths environment variables. The path must be specified in
|
|
|
|
build paths environment variables. The path must be specified in
|
|
|
|
the POSIX format and using the “:” delimiter, for example: “/cygdrive/c/includes:/cygdrive/d/…”</td>
|
|
|
|
the POSIX format and using the “:” delimiter, for example: “/cygdrive/c/includes:/cygdrive/d/…”</td>
|
|
|
|
<td
|
|
|
|
<td
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
style="border-style: none double solid none; border-width: medium 1.5pt 1pt medium; border-right: 1.5pt double windowtext; border-bottom: 1pt solid windowtext; padding: 0in 5.4pt; vertical-align: top;">
|
|
|
|
no</td>
|
|
|
|
no</td>
|
|
|
@ -4400,8 +4400,8 @@ consists of two drop-down list controls and a button. The first
|
|
|
|
drop-down list is currently read-only, and displays the type of project.
|
|
|
|
drop-down list is currently read-only, and displays the type of project.
|
|
|
|
The second contains a list of configurations that are defined for the
|
|
|
|
The second contains a list of configurations that are defined for the
|
|
|
|
project. The figure below shows a project targeted solely at a Windows shared
|
|
|
|
project. The figure below shows a project targeted solely at a Windows shared
|
|
|
|
library built with GCC that has two configurations; ‘Release’ (not shown), and
|
|
|
|
library built with GCC that has two configurations; ‘Release’ (not shown), and
|
|
|
|
‘Debug’. Note that the build settings model is queried for the project-type and configuration <var>name</var> information.</p>
|
|
|
|
‘Debug’. Note that the build settings model is queried for the project-type and configuration <var>name</var> information.</p>
|
|
|
|
<p>
|
|
|
|
<p>
|
|
|
|
<img style="border: 0px solid ;"
|
|
|
|
<img style="border: 0px solid ;"
|
|
|
|
src="./image026.gif"
|
|
|
|
src="./image026.gif"
|
|
|
@ -4566,7 +4566,7 @@ generated by the default build file generator in more detail.</p>
|
|
|
|
<p> There is one main makefile generated for each project configuration. Based on
|
|
|
|
<p> There is one main makefile generated for each project configuration. Based on
|
|
|
|
information for the configuration, the proper clean command is defined as a
|
|
|
|
information for the configuration, the proper clean command is defined as a
|
|
|
|
macro. Note that for efficiency, wherever possible the default build file
|
|
|
|
macro. Note that for efficiency, wherever possible the default build file
|
|
|
|
generator takes advantage of Gnu make's ‘:=’ and ‘+=’ variable
|
|
|
|
generator takes advantage of Gnu make's ‘:=’ and ‘+=’ variable
|
|
|
|
assignment operators so that the contents of the makefile macros are
|
|
|
|
assignment operators so that the contents of the makefile macros are
|
|
|
|
only evaluated when a value is assigned or modified, not every time
|
|
|
|
only evaluated when a value is assigned or modified, not every time
|
|
|
|
they are used. The makefile includes external makefiles that have a
|
|
|
|
they are used. The makefile includes external makefiles that have a
|
|
|
@ -4598,7 +4598,7 @@ subdirectory looks like.</p>
|
|
|
|
title="" alt="Generated fragment makefile"></p>
|
|
|
|
title="" alt="Generated fragment makefile"></p>
|
|
|
|
<p>As you can see, the fragment contributes one file, <code>class1.cpp</code>,
|
|
|
|
<p>As you can see, the fragment contributes one file, <code>class1.cpp</code>,
|
|
|
|
and a
|
|
|
|
and a
|
|
|
|
rule to build all source files with the ‘cpp’ extension in the
|
|
|
|
rule to build all source files with the ‘cpp’ extension in the
|
|
|
|
subdirectory where it is located. The content of
|
|
|
|
subdirectory where it is located. The content of
|
|
|
|
the dependency and command lines is derived from the build settings
|
|
|
|
the dependency and command lines is derived from the build settings
|
|
|
|
model. The dependency line is supplied by the build
|
|
|
|
model. The dependency line is supplied by the build
|
|
|
@ -4839,10 +4839,10 @@ Select <span style="font-weight: bold;">New
|
|
|
|
should appear below the extension point. That's a bit verbose, so
|
|
|
|
should appear below the extension point. That's a bit verbose, so
|
|
|
|
rename it to <code>example.toolchain.executable</code>.<br>
|
|
|
|
rename it to <code>example.toolchain.executable</code>.<br>
|
|
|
|
</li>
|
|
|
|
</li>
|
|
|
|
<li>Let’s give the new projectType a human-readable name. Locate the <span
|
|
|
|
<li>Let’s give the new projectType a human-readable name. Locate the <span
|
|
|
|
style="font-weight: bold;">name</span>
|
|
|
|
style="font-weight: bold;">name</span>
|
|
|
|
property in the <span style="font-weight: bold;">Extension Element
|
|
|
|
property in the <span style="font-weight: bold;">Extension Element
|
|
|
|
Details</span> column. For now, let’s use the name <code>Example
|
|
|
|
Details</span> column. For now, let’s use the name <code>Example
|
|
|
|
Executable</code> for our projectType.</li>
|
|
|
|
Executable</code> for our projectType.</li>
|
|
|
|
<li>Make sure that the values of <span style="font-weight: bold;">isTest</span>
|
|
|
|
<li>Make sure that the values of <span style="font-weight: bold;">isTest</span>
|
|
|
|
and<b> isAbstract</b> are<b> </b>set
|
|
|
|
and<b> isAbstract</b> are<b> </b>set
|
|
|
@ -4999,7 +4999,7 @@ Each tool describes its inputs and outputs in InputType and OutputType elements.
|
|
|
|
<font face="Courier New">org.eclipse.cdt.core.cSource</font>.</p></li>
|
|
|
|
<font face="Courier New">org.eclipse.cdt.core.cSource</font>.</p></li>
|
|
|
|
<li>
|
|
|
|
<li>
|
|
|
|
<p style="font-weight: normal;">The build model needs to know if there are any special file
|
|
|
|
<p style="font-weight: normal;">The build model needs to know if there are any special file
|
|
|
|
extensions that indicate a file is a ‘header’ file. Set the
|
|
|
|
extensions that indicate a file is a ‘header’ file. Set the
|
|
|
|
<span style="font-weight: 700">dependencyContentType</span>
|
|
|
|
<span style="font-weight: 700">dependencyContentType</span>
|
|
|
|
property to be <code>org.eclipse.cdt.core.cHeader </code><font face="Arial">
|
|
|
|
property to be <code>org.eclipse.cdt.core.cHeader </code><font face="Arial">
|
|
|
|
<code><font face="Arial">and the <span style="font-weight: 700">
|
|
|
|
<code><font face="Arial">and the <span style="font-weight: 700">
|
|
|
@ -5019,7 +5019,7 @@ property to be <code>org.eclipse.cdt.core.cHeader </code><font face="Arial">
|
|
|
|
<li>
|
|
|
|
<li>
|
|
|
|
<p style="font-weight: normal;">Let us
|
|
|
|
<p style="font-weight: normal;">Let us
|
|
|
|
assume that the output of the compiler is an object module that has the
|
|
|
|
assume that the output of the compiler is an object module that has the
|
|
|
|
extension ‘o’. Set the value of the <span style="font-weight: bold;">outputs</span>
|
|
|
|
extension ‘o’. Set the value of the <span style="font-weight: bold;">outputs</span>
|
|
|
|
property of the
|
|
|
|
property of the
|
|
|
|
tool to <code>o</code>.</p></li>
|
|
|
|
tool to <code>o</code>.</p></li>
|
|
|
|
<li>
|
|
|
|
<li>
|
|
|
@ -5038,7 +5038,7 @@ tool to <code>o</code>.</p></li>
|
|
|
|
<a name="_TocSectionTutorial_11">6.11 Testing the ProjectType</a></p>
|
|
|
|
<a name="_TocSectionTutorial_11">6.11 Testing the ProjectType</a></p>
|
|
|
|
<p>We have now defined enough information to create a project for
|
|
|
|
<p>We have now defined enough information to create a project for
|
|
|
|
our
|
|
|
|
our
|
|
|
|
new example project-type, so let’s go test it out.</p>
|
|
|
|
new example project-type, so let’s go test it out.</p>
|
|
|
|
<ol style="margin-top: 0in;" start="1" type="1">
|
|
|
|
<ol style="margin-top: 0in;" start="1" type="1">
|
|
|
|
<li>Make sure our example project is selected in the <span
|
|
|
|
<li>Make sure our example project is selected in the <span
|
|
|
|
style="font-weight: bold;">Package
|
|
|
|
style="font-weight: bold;">Package
|
|
|
@ -5181,12 +5181,12 @@ specifying your own tool integration.</p>
|
|
|
|
<p class="subsection">6.13.1 Adding More
|
|
|
|
<p class="subsection">6.13.1 Adding More
|
|
|
|
Tools</p>
|
|
|
|
Tools</p>
|
|
|
|
<p>Unless you just happen to have a compiler on your system that is
|
|
|
|
<p>Unless you just happen to have a compiler on your system that is
|
|
|
|
invoked with ‘ccc’, the example tool we created is not going to build
|
|
|
|
invoked with ‘ccc’, the example tool we created is not going to build
|
|
|
|
anything. Further, the tool we defined transforms source files into object
|
|
|
|
anything. Further, the tool we defined transforms source files into object
|
|
|
|
files. Another tool, like a linker, would be needed to transform those object
|
|
|
|
files. Another tool, like a linker, would be needed to transform those object
|
|
|
|
files into a final build goal. For many tool-chains, defining
|
|
|
|
files into a final build goal. For many tool-chains, defining
|
|
|
|
a
|
|
|
|
a
|
|
|
|
compiler and “something else” is usually sufficient, but you may have
|
|
|
|
compiler and “something else” is usually sufficient, but you may have
|
|
|
|
to
|
|
|
|
to
|
|
|
|
define additional tools if your tool-chain requires intermediate build
|
|
|
|
define additional tools if your tool-chain requires intermediate build
|
|
|
|
steps to function properly.</p>
|
|
|
|
steps to function properly.</p>
|
|
|
@ -5206,7 +5206,7 @@ number of sources:</p>
|
|
|
|
tool options as
|
|
|
|
tool options as
|
|
|
|
special so the build model will know to pay special attention to them.
|
|
|
|
special so the build model will know to pay special attention to them.
|
|
|
|
As the implementer of the tool integration, you should make sure your
|
|
|
|
As the implementer of the tool integration, you should make sure your
|
|
|
|
specification has options of type “includePaths” and “definedSymbols”.
|
|
|
|
specification has options of type “includePaths” and “definedSymbols”.
|
|
|
|
The build model will pay special attention to these options and provide
|
|
|
|
The build model will pay special attention to these options and provide
|
|
|
|
them to the appropriate clients in the CDT core without any further
|
|
|
|
them to the appropriate clients in the CDT core without any further
|
|
|
|
intervention on your part.</p>
|
|
|
|
intervention on your part.</p>
|
|
|
@ -5216,7 +5216,7 @@ compiler settings. See the org.eclipse.cdt.make.core.ScannerConfigurationD
|
|
|
|
extension point description in the reference documentation for more information.
|
|
|
|
extension point description in the reference documentation for more information.
|
|
|
|
If a collector is specified, MBS invokes it to return the pre-defined symbols
|
|
|
|
If a collector is specified, MBS invokes it to return the pre-defined symbols
|
|
|
|
and include paths. If a collector is not specified, MBS searches for
|
|
|
|
and include paths. If a collector is not specified, MBS searches for
|
|
|
|
options of type “includePaths” and “definedSymbols” with the <b>builtIn</b>
|
|
|
|
options of type “includePaths” and “definedSymbols” with the <b>builtIn</b>
|
|
|
|
attribute set to true.</p>
|
|
|
|
attribute set to true.</p>
|
|
|
|
<p><b>Environment include paths: </b>Your build definition may specify a
|
|
|
|
<p><b>Environment include paths: </b>Your build definition may specify a
|
|
|
|
envVarBuildPath element with the <b>pathType</b> attribute set to "buildpathInclude".
|
|
|
|
envVarBuildPath element with the <b>pathType</b> attribute set to "buildpathInclude".
|
|
|
@ -5230,7 +5230,7 @@ Modules</p>
|
|
|
|
the final build step. The build model needs to be told to pay special attention
|
|
|
|
the final build step. The build model needs to be told to pay special attention
|
|
|
|
to an option containing libraries so that when the build file generator requests
|
|
|
|
to an option containing libraries so that when the build file generator requests
|
|
|
|
them, it can provide a valid list. Flag the
|
|
|
|
them, it can provide a valid list. Flag the
|
|
|
|
option value type as “libs” for external libraries or “userObjs” for
|
|
|
|
option value type as “libs” for external libraries or “userObjs” for
|
|
|
|
object modules.</p>
|
|
|
|
object modules.</p>
|
|
|
|
<p class="subsection">6.13.4 ProjectType and Other
|
|
|
|
<p class="subsection">6.13.4 ProjectType and Other
|
|
|
|
Element
|
|
|
|
Element
|
|
|
@ -5861,7 +5861,7 @@ the CDT user and to inform the user when support needed by their project is not
|
|
|
|
installed. If the method is not provided by the tool-chain definition, the
|
|
|
|
installed. If the method is not provided by the tool-chain definition, the
|
|
|
|
tool-chain is treated as supported. If all configurations defined for the
|
|
|
|
tool-chain is treated as supported. If all configurations defined for the
|
|
|
|
given project type are not supported the project type is treated as unsupported.</p>
|
|
|
|
given project type are not supported the project type is treated as unsupported.</p>
|
|
|
|
<p>In order to provide this functionality, the “isToolChainSupported”
|
|
|
|
<p>In order to provide this functionality, the “isToolChainSupported”
|
|
|
|
attribute in the toolChain
|
|
|
|
attribute in the toolChain
|
|
|
|
definition must be specified. The value of this attribute should be set to the
|
|
|
|
definition must be specified. The value of this attribute should be set to the
|
|
|
|
name of the class which implements the <font face="Courier New">I</font><span style="font-family: Courier New"><font size="2">ManagedIsToolChainSupported</font></span>
|
|
|
|
name of the class which implements the <font face="Courier New">I</font><span style="font-family: Courier New"><font size="2">ManagedIsToolChainSupported</font></span>
|
|
|
@ -5879,11 +5879,11 @@ instance);</font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">The version
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">The version
|
|
|
|
argument specifies the version of the ToolChain, or null if the ToolChain does
|
|
|
|
argument specifies the version of the ToolChain, or null if the ToolChain does
|
|
|
|
not have a version number. The instance argument is currently null. It will be
|
|
|
|
not have a version number. The instance argument is currently null. It will be
|
|
|
|
used when “Multi-Instance” support is implemented.</p>
|
|
|
|
used when “Multi-Instance” support is implemented.</p>
|
|
|
|
<p class="subsection"><a name="_TocSectionDynamic_6">7.6 Defining Environment Variables</a></p>
|
|
|
|
<p class="subsection"><a name="_TocSectionDynamic_6">7.6 Defining Environment Variables</a></p>
|
|
|
|
<p>A tool-integrator can provide a method to be called that identifies the default
|
|
|
|
<p>A tool-integrator can provide a method to be called that identifies the default
|
|
|
|
environment variables for the tool-chain. These would typically include the
|
|
|
|
environment variables for the tool-chain. These would typically include the
|
|
|
|
build path variables (“bin”, “include”, “lib”). These environment variables are
|
|
|
|
build path variables (“bin”, “include”, “lib”). These environment variables are
|
|
|
|
defined by MBS for the process in which the builder (e.g., make) runs. In
|
|
|
|
defined by MBS for the process in which the builder (e.g., make) runs. In
|
|
|
|
addition to providing environment variables the tool-chain integrator can
|
|
|
|
addition to providing environment variables the tool-chain integrator can
|
|
|
|
specify the names of the environment variables used by the tool for specifying
|
|
|
|
specify the names of the environment variables used by the tool for specifying
|
|
|
@ -5892,7 +5892,7 @@ appropriate information about includes and libraries to the rest of the CDT.</p>
|
|
|
|
<p class="MsoNormal">The tool-integrator can provide Project-level and
|
|
|
|
<p class="MsoNormal">The tool-integrator can provide Project-level and
|
|
|
|
Configuration-level environment variable suppliers separately: </p>
|
|
|
|
Configuration-level environment variable suppliers separately: </p>
|
|
|
|
<p class="MsoNormal" style="margin-left: 0in">To provide a Configuration-level
|
|
|
|
<p class="MsoNormal" style="margin-left: 0in">To provide a Configuration-level
|
|
|
|
supplier the “configurationEnvironmentSupplier” attribute in the toolChain
|
|
|
|
supplier the “configurationEnvironmentSupplier” attribute in the toolChain
|
|
|
|
definition must be specified. The value of this attribute should be set to the
|
|
|
|
definition must be specified. The value of this attribute should be set to the
|
|
|
|
name of the class which implements the <font face="Courier New">IConfigurationEnvironmentVariableSupplier</font>
|
|
|
|
name of the class which implements the <font face="Courier New">IConfigurationEnvironmentVariableSupplier</font>
|
|
|
|
interface </p>
|
|
|
|
interface </p>
|
|
|
@ -5916,7 +5916,7 @@ the supplier. The supplier should use this provider to obtain</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font><font face="Courier New">
|
|
|
|
<font face="Courier New" color="#003366"> </font><font face="Courier New">
|
|
|
|
<span style="color: #003366"> * the already defined environment instead of using
|
|
|
|
<span style="color: #003366"> * the already defined environment instead of using
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font><font face="Courier New">
|
|
|
|
<font face="Courier New" color="#003366"> </font><font face="Courier New">
|
|
|
|
<span style="color: #003366"> *
|
|
|
|
<span style="color: #003366"> *
|
|
|
@ -5974,7 +5974,7 @@ environment variable provider to be used for querying the</span></font></p>
|
|
|
|
the supplier. The supplier should use this provider to obtain</span></font></p>
|
|
|
|
the supplier. The supplier should use this provider to obtain</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> *</font><font face="Courier New"><span style="color: #003366"> the already defined environment instead of using
|
|
|
|
<font face="Courier New" color="#003366"> *</font><font face="Courier New"><span style="color: #003366"> the already defined environment instead of using
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">*
|
|
|
|
<font face="Courier New"><span style="color: #003366">*
|
|
|
@ -6014,7 +6014,7 @@ higher levels.</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New">}</font></p>
|
|
|
|
<font face="Courier New">}</font></p>
|
|
|
|
<p class="MsoNormal" style="margin-left: 0in">To provide a Project-level
|
|
|
|
<p class="MsoNormal" style="margin-left: 0in">To provide a Project-level
|
|
|
|
supplier the “projectEnvironmentSupplier” attribute in the projectType
|
|
|
|
supplier the “projectEnvironmentSupplier” attribute in the projectType
|
|
|
|
definition must be specified. The value of this attribute should be set to the
|
|
|
|
definition must be specified. The value of this attribute should be set to the
|
|
|
|
name of the class which implements the <font face="Courier New">IProjectEnvironmentVariableSupplier</font>
|
|
|
|
name of the class which implements the <font face="Courier New">IProjectEnvironmentVariableSupplier</font>
|
|
|
|
interface.</p>
|
|
|
|
interface.</p>
|
|
|
@ -6037,7 +6037,7 @@ the supplier. The supplier should use this provider to obtain</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined environment instead of using
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined environment instead of using
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">*
|
|
|
|
<font face="Courier New"><span style="color: #003366">*
|
|
|
@ -6104,7 +6104,7 @@ the supplier. The supplier should use this provider to obtain</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined environment instead of using
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined environment instead of using
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">*
|
|
|
|
<font face="Courier New"><span style="color: #003366">*
|
|
|
@ -6210,14 +6210,14 @@ value the new </span></font></p>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * value will be calculated in the following way:</span></font></p>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * value will be calculated in the following way:</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * For the “prepend” operation:</span></font></p>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * For the “prepend” operation:</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * <New value> = <the value from the
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * <New value> = <the value from the
|
|
|
|
getValue() method><delimiter><Old value></span></font></p>
|
|
|
|
getValue() method><delimiter><Old value></span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * For the “append” operation:</span></font></p>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * For the “append” operation:</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * <New value> = <Old value><delimiter><the
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * <New value> = <Old value><delimiter><the
|
|
|
@ -6228,7 +6228,7 @@ value from the getValue() method></span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * The Environment Variable Provider will also
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * The Environment Variable Provider will also
|
|
|
|
remove the duplicates of “sub-values” </span></font></p>
|
|
|
|
remove the duplicates of “sub-values” </span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * in the resulting value. </span>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * in the resulting value. </span>
|
|
|
@ -6239,20 +6239,20 @@ remove the duplicates of “sub-values” </span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * If the current value is
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * If the current value is
|
|
|
|
“string1:string2:string3”, the getDelimiter() method returns “:” </span>
|
|
|
|
“string1:string2:string3”, the getDelimiter() method returns “:” </span>
|
|
|
|
</font></p>
|
|
|
|
</font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * and getValue() method returns “string4:string2”
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * and getValue() method returns “string4:string2”
|
|
|
|
the new value will contain:</span></font></p>
|
|
|
|
the new value will contain:</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * For the “prepend” operation:
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * For the “prepend” operation:
|
|
|
|
“string4:string2:string1:string3”</span></font></p>
|
|
|
|
“string4:string2:string1:string3”</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * For the “append” operation:
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * For the “append” operation:
|
|
|
|
“string1:string3:string4:string2”</span></font></p>
|
|
|
|
“string1:string3:string4:string2”</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * <br>
|
|
|
|
<font face="Courier New"><span style="color: #003366"> * <br>
|
|
|
@ -6378,7 +6378,7 @@ supplier. The supplier should use this provider to obtain</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined build macros instead of using
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined build macros instead of using
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* ManagedBuildManager.getBuildMacroProvider().</span></font></p>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* ManagedBuildManager.getBuildMacroProvider().</span></font></p>
|
|
|
@ -6441,7 +6441,7 @@ supplier. The supplier should use this provider to obtain</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined build macros instead of using
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined build macros instead of using
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* ManagedBuildManager.getBuildMacroProvider().</span></font></p>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* ManagedBuildManager.getBuildMacroProvider().</span></font></p>
|
|
|
@ -6515,7 +6515,7 @@ supplier. The supplier should use this provider to obtain</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined build macros instead of using
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined build macros instead of using
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* ManagedBuildManager.getBuildMacroProvider().</span></font></p>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* ManagedBuildManager.getBuildMacroProvider().</span></font></p>
|
|
|
@ -6583,7 +6583,7 @@ supplier. The supplier should use this provider to obtain</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined build macros instead of using
|
|
|
|
<font face="Courier New"><span style="color: #003366">* the already defined build macros instead of using
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
the “default” provider returned by the</span></font></p>
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New" color="#003366"> </font>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* ManagedBuildManager.getBuildMacroProvider().</span></font></p>
|
|
|
|
<font face="Courier New"><span style="color: #003366">* ManagedBuildManager.getBuildMacroProvider().</span></font></p>
|
|
|
@ -6723,9 +6723,9 @@ names are not very "user-friendly", particularly for a user who intend
|
|
|
|
single version of your tool-chain. The alternative is to dynamically
|
|
|
|
single version of your tool-chain. The alternative is to dynamically
|
|
|
|
assign unique configuration names using a configuration name provider (see the <font face="Courier New">
|
|
|
|
assign unique configuration names using a configuration name provider (see the <font face="Courier New">
|
|
|
|
getNewConfigurationName </font><font face="Arial">method below.) </font>The first configuration
|
|
|
|
getNewConfigurationName </font><font face="Arial">method below.) </font>The first configuration
|
|
|
|
that is created gets to use the most “basic” name – for example, “Debug”. When another configuration is
|
|
|
|
that is created gets to use the most “basic” name – for example, “Debug”. When another configuration is
|
|
|
|
created that uses a different tool-chain version, it would see that “Debug” was
|
|
|
|
created that uses a different tool-chain version, it would see that “Debug” was
|
|
|
|
already chosen, so it could return a more qualified name - for example, “Debug_2.0”.
|
|
|
|
already chosen, so it could return a more qualified name - for example, “Debug_2.0”.
|
|
|
|
The same technique could be used when your tool-chain supports multiple
|
|
|
|
The same technique could be used when your tool-chain supports multiple
|
|
|
|
host/target platforms.</p>
|
|
|
|
host/target platforms.</p>
|
|
|
|
<p class="MsoNormal"><font face="Courier New">public interface
|
|
|
|
<p class="MsoNormal"><font face="Courier New">public interface
|
|
|
@ -7662,7 +7662,7 @@ created as the child of each Configuration element. The <i>name</i> and <i
|
|
|
|
of the ToolChain are not dependent upon the name of any of the old model
|
|
|
|
of the ToolChain are not dependent upon the name of any of the old model
|
|
|
|
objects. However, if you allow users to create CDT 2.1 projects using your CDT
|
|
|
|
objects. However, if you allow users to create CDT 2.1 projects using your CDT
|
|
|
|
2.0 manifest file, then the <i>id</i> of your new ToolChain must be the parent
|
|
|
|
2.0 manifest file, then the <i>id</i> of your new ToolChain must be the parent
|
|
|
|
Configuration <i>id, </i>appended with “.toolchain”. The Target <i>isAbstract,
|
|
|
|
Configuration <i>id, </i>appended with “.toolchain”. The Target <i>isAbstract,
|
|
|
|
osList, </i>a<i>rchList</i> and <i>scannerInfoCollector </i>attributes are
|
|
|
|
osList, </i>a<i>rchList</i> and <i>scannerInfoCollector </i>attributes are
|
|
|
|
transferred to the ToolChain element.</p>
|
|
|
|
transferred to the ToolChain element.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A new Builder element can be
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A new Builder element can be
|
|
|
@ -7670,7 +7670,7 @@ created as the child of each ToolChain element. The <i>name</i> and <i>id<
|
|
|
|
the Builder are not dependent upon the name of any of the old model elements.
|
|
|
|
the Builder are not dependent upon the name of any of the old model elements.
|
|
|
|
However, if you allow users to create CDT 2.1 projects using your CDT 2.0
|
|
|
|
However, if you allow users to create CDT 2.1 projects using your CDT 2.0
|
|
|
|
manifest file, then the <i>id</i> of your new Builder must be the parent
|
|
|
|
manifest file, then the <i>id</i> of your new Builder must be the parent
|
|
|
|
Configuration <i>id, </i>appended with “.builder”. The target <i>isAbstract</i>
|
|
|
|
Configuration <i>id, </i>appended with “.builder”. The target <i>isAbstract</i>
|
|
|
|
attribute is transferred to the Builder element. <i> </i>The target <i>
|
|
|
|
attribute is transferred to the Builder element. <i> </i>The target <i>
|
|
|
|
makeCommand</i> attribute should be transferred to the Builder element as the <i>
|
|
|
|
makeCommand</i> attribute should be transferred to the Builder element as the <i>
|
|
|
|
command </i>attribute (Note the name change).<i> </i>The target <i>
|
|
|
|
command </i>attribute (Note the name change).<i> </i>The target <i>
|
|
|
@ -7683,11 +7683,11 @@ created as the child of each ToolChain element. The <i>name</i> and <i>id<
|
|
|
|
the TargetPlatform are not dependent upon the name of any of the old model
|
|
|
|
the TargetPlatform are not dependent upon the name of any of the old model
|
|
|
|
elements. However, if you allow users to create CDT 2.1 projects using your CDT
|
|
|
|
elements. However, if you allow users to create CDT 2.1 projects using your CDT
|
|
|
|
2.0 manifest file, then the <i>id</i> of your new TargetPlatform must be the
|
|
|
|
2.0 manifest file, then the <i>id</i> of your new TargetPlatform must be the
|
|
|
|
parent Configuration <i>id, </i>appended with “.targetplatform”. The target <i>
|
|
|
|
parent Configuration <i>id, </i>appended with “.targetplatform”. The target <i>
|
|
|
|
isAbstract</i> and <i>binaryParser </i>attributes are transferred to the
|
|
|
|
isAbstract</i> and <i>binaryParser </i>attributes are transferred to the
|
|
|
|
TargetPlatform element. The TargetPlatform element contains <i>osList </i>and <i>
|
|
|
|
TargetPlatform element. The TargetPlatform element contains <i>osList </i>and <i>
|
|
|
|
archList</i> attributes that specify the architecture(s) and operating system(s)
|
|
|
|
archList</i> attributes that specify the architecture(s) and operating system(s)
|
|
|
|
on which the Configuration’s build artifact(s) execute. You can transfer the
|
|
|
|
on which the Configuration’s build artifact(s) execute. You can transfer the
|
|
|
|
Target <i>osList </i>and <i>archList</i> attributes if appropriate.</p>
|
|
|
|
Target <i>osList </i>and <i>archList</i> attributes if appropriate.</p>
|
|
|
|
<h3 class="subsection">8.1.4 MBS 2.0 Tool Element</h3>
|
|
|
|
<h3 class="subsection">8.1.4 MBS 2.0 Tool Element</h3>
|
|
|
|
<p class="MsoNormal">The old model allows Tools to be defined at the top level
|
|
|
|
<p class="MsoNormal">The old model allows Tools to be defined at the top level
|
|
|
@ -7703,7 +7703,7 @@ Tool attributes are supported by the new model.</p>
|
|
|
|
must remain unchanged in order to support the conversion of old model project
|
|
|
|
must remain unchanged in order to support the conversion of old model project
|
|
|
|
files. The <i>outputs </i>attribute no longer defaults to an empty string. If
|
|
|
|
files. The <i>outputs </i>attribute no longer defaults to an empty string. If
|
|
|
|
your Tool produces files by default with no extension, you must specify
|
|
|
|
your Tool produces files by default with no extension, you must specify
|
|
|
|
‘outputs=””’ in the definition of the Tool or one of its ancestors (<i>superClass</i>).</p>
|
|
|
|
‘outputs=””’ in the definition of the Tool or one of its ancestors (<i>superClass</i>).</p>
|
|
|
|
<h3 class="subsection">8.1.5 MBS 2.0 ToolReference Element</h3>
|
|
|
|
<h3 class="subsection">8.1.5 MBS 2.0 ToolReference Element</h3>
|
|
|
|
<p class="MsoNormal">The new model does not define a ToolReference element.
|
|
|
|
<p class="MsoNormal">The new model does not define a ToolReference element.
|
|
|
|
Instead, a Tool element can specify the <i>superClass</i> attribute in order to
|
|
|
|
Instead, a Tool element can specify the <i>superClass</i> attribute in order to
|
|
|
@ -7712,7 +7712,7 @@ attributes from another Tool and can override one or more attributes.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The old model uses ToolReferences
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">The old model uses ToolReferences
|
|
|
|
in two ways. They can be specified as the child of a Configuration element. In
|
|
|
|
in two ways. They can be specified as the child of a Configuration element. In
|
|
|
|
this case, the ToolReference should be converted a Tool element child of the
|
|
|
|
this case, the ToolReference should be converted a Tool element child of the
|
|
|
|
Configuration’s ToolChain, transferring the value of the <i>id </i>attribute to
|
|
|
|
Configuration’s ToolChain, transferring the value of the <i>id </i>attribute to
|
|
|
|
the Tool <i>superClass </i>attribute.</p>
|
|
|
|
the Tool <i>superClass </i>attribute.</p>
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A ToolReference can also be
|
|
|
|
<p class="MsoNormal" style="margin-top:6.0pt">A ToolReference can also be
|
|
|
|
specified as the child of a Target element. In this case, the ToolReference
|
|
|
|
specified as the child of a Target element. In this case, the ToolReference
|
|
|
|