mirror of
https://github.com/boostorg/build.git
synced 2026-02-14 00:32:11 +00:00
237 lines
9.5 KiB
XML
237 lines
9.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE section PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
|
|
"http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
|
|
|
|
<section id="bbv2.reference.modules.type">
|
|
|
|
<title>type</title>
|
|
<indexterm>
|
|
<primary>type</primary>
|
|
<secondary>module</secondary>
|
|
</indexterm>
|
|
|
|
<para>
|
|
Deals with target type declaration and defines target class which supports
|
|
typed targets.
|
|
</para>
|
|
|
|
<orderedlist>
|
|
|
|
<listitem id="bbv2.reference.modules.type.register">
|
|
<indexterm zone="bbv2.reference.modules.type.register">
|
|
<primary>register</primary>
|
|
<secondary>type</secondary>
|
|
</indexterm>
|
|
<code language="jam">rule register ( type : suffixes * : base-type ? )</code>
|
|
<para>
|
|
Registers a target type, possible derived from a
|
|
<code language="jam">base-type</code>. Providing a list
|
|
of suffixes here is a shortcut for separately calling the
|
|
<link linkend="bbv2.reference.modules.type.register-suffixes">register-suffixes</link>
|
|
rule with the given suffixes and the
|
|
<link linkend="bbv2.reference.modules.type.set-generated-target-suffix">set-generated-target-suffix</link>
|
|
rule with the first given suffix.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.register-suffixes">
|
|
<indexterm zone="bbv2.reference.modules.type.register-suffixes">
|
|
<primary>register-suffixes</primary>
|
|
</indexterm>
|
|
<code language="jam">rule register-suffixes ( suffixes + : type )</code>
|
|
<para>
|
|
Specifies that files with suffix from <code language="jam">suffixes</code>
|
|
be recognized as targets of type <code language="jam">type</code>.
|
|
Issues an error if a different type is already specified for any
|
|
of the suffixes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.registered">
|
|
<indexterm zone="bbv2.reference.modules.type.registered">
|
|
<primary>registered</primary>
|
|
</indexterm>
|
|
<code language="jam">rule registered ( type )</code>
|
|
<para>Returns true iff type has been registered.</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.validate">
|
|
<indexterm zone="bbv2.reference.modules.type.validate">
|
|
<primary>validate</primary>
|
|
</indexterm>
|
|
<code language="jam">rule validate ( type )</code>
|
|
<para>Issues an error if <code lang="jam">type</code> is unknown.</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.set-scanner">
|
|
<indexterm zone="bbv2.reference.modules.type.set-scanner">
|
|
<primary>set-scanner</primary>
|
|
</indexterm>
|
|
<code language="jam">rule set-scanner ( type : scanner )</code>
|
|
<para>Sets a scanner class that will be used for this type.</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.get-scanner">
|
|
<indexterm zone="bbv2.reference.modules.type.get-scanner">
|
|
<primary>get-scanner</primary>
|
|
</indexterm>
|
|
<code language="jam">rule get-scanner ( type : property-set )</code>
|
|
<para>
|
|
Returns a scanner instance appropriate to <code language="jam">type</code>
|
|
and <code language="jam">property-set</code>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.base">
|
|
<indexterm zone="bbv2.reference.modules.type.base">
|
|
<primary>base</primary>
|
|
</indexterm>
|
|
<code language="jam">rule base ( type )</code>
|
|
<para>
|
|
Returns a base type for the given type or nothing in case the given
|
|
type is not derived.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.all-bases">
|
|
<indexterm zone="bbv2.reference.modules.type.all-bases">
|
|
<primary>all-bases</primary>
|
|
</indexterm>
|
|
<code language="jam">rule all-bases ( type )</code>
|
|
<para>
|
|
Returns the given type and all of its base types in order of
|
|
their distance from type.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.all-derived">
|
|
<indexterm zone="bbv2.reference.modules.type.all-derived">
|
|
<primary>all-derived</primary>
|
|
</indexterm>
|
|
<code language="jam">rule all-derived ( type )</code>
|
|
<para>
|
|
Returns the given type and all of its derived types in order
|
|
of their distance from type.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.is-derived">
|
|
<indexterm zone="bbv2.reference.modules.type.is-derived">
|
|
<primary>is-derived</primary>
|
|
</indexterm>
|
|
<code language="jam">rule is-derived ( type base )</code>
|
|
<para>
|
|
Returns true if <code language="jam">type</code> is equal to
|
|
<code language="jam">base</code> or has <code language="jam">base</code>
|
|
as its direct or indirect base.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.set-generated-target-suffix">
|
|
<indexterm zone="bbv2.reference.modules.type.set-generated-target-suffix">
|
|
<primary>set-generated-target-suffix</primary>
|
|
</indexterm>
|
|
<code language="jam">rule set-generated-target-suffix ( type : properties * : suffix )</code>
|
|
<para>
|
|
Sets a file suffix to be used when generating a target of <code language="jam">type</code> with the
|
|
specified properties. Can be called with no properties if no suffix has
|
|
already been specified for the <code language="jam">type</code>. The <code language="jam">suffix</code> parameter can be an empty
|
|
string (<code language="jam">""</code>) to indicate that no suffix should be used.
|
|
</para>
|
|
|
|
<para>
|
|
Note that this does not cause files with <code language="jam">suffix</code>
|
|
to be automatically recognized as being of <code language="jam">type</code>.
|
|
Two different types can use the same suffix for their generated files
|
|
but only one type can be auto-detected for a file with that suffix.
|
|
User should explicitly specify which one using the
|
|
<link linkend="bbv2.reference.modules.type.register-suffixes">register-suffixes</link>
|
|
rule.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.change-generated-target-suffix">
|
|
<indexterm zone="bbv2.reference.modules.type.change-generated-target-suffix">
|
|
<primary>change-generated-target-suffix</primary>
|
|
</indexterm>
|
|
<code language="jam">rule change-generated-target-suffix ( type : properties * : suffix )</code>
|
|
<para>
|
|
Change the suffix previously registered for this type/properties
|
|
combination. If suffix is not yet specified, sets it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.generated-target-suffix">
|
|
<indexterm zone="bbv2.reference.modules.type.generated-target-suffix">
|
|
<primary>generated-target-suffix</primary>
|
|
</indexterm>
|
|
<code language="jam">rule generated-target-suffix ( type : property-set )</code>
|
|
<para>
|
|
Returns the suffix used when generating a file of
|
|
<code language="jam">type</code> with the given properties.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.set-generated-target-prefix">
|
|
<indexterm zone="bbv2.reference.modules.type.set-generated-target-prefix">
|
|
<primary>set-generated-target-prefix</primary>
|
|
</indexterm>
|
|
<code language="jam">rule set-generated-target-prefix ( type : properties * : prefix )</code>
|
|
<para>
|
|
Sets a target prefix that should be used when generating targets of
|
|
<code language="jam">type</code> with the specified properties. Can
|
|
be called with empty properties if no prefix for
|
|
<code language="jam">type</code> has been specified yet.
|
|
</para>
|
|
|
|
<para>
|
|
The <code language="jam">prefix</code> parameter can be empty string
|
|
(<code language="jam">""</code>) to indicate that no prefix
|
|
should be used.
|
|
</para>
|
|
|
|
<para>
|
|
Usage example: library names use the <code language="jam">"lib"</code>
|
|
prefix on unix.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.change-generated-target-prefix">
|
|
<indexterm zone="bbv2.reference.modules.type.change-generated-target-prefix">
|
|
<primary>change-generated-target-prefix</primary>
|
|
</indexterm>
|
|
<code language="jam">rule change-generated-target-prefix ( type : properties * : prefix )</code>
|
|
<para>
|
|
Change the prefix previously registered for this type/properties
|
|
combination. If prefix is not yet specified, sets it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.generated-target-prefix">
|
|
<indexterm zone="bbv2.reference.modules.type.generated-target-prefix">
|
|
<primary>generated-target-prefix</primary>
|
|
</indexterm>
|
|
<code language="jam">rule generated-target-prefix ( type : property-set )</code>
|
|
<para>
|
|
Returns the prefix used when generating a file of
|
|
<code language="jam">type</code> with the given properties.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem id="bbv2.reference.modules.type.type">
|
|
<indexterm zone="bbv2.reference.modules.type.type">
|
|
<primary>type</primary>
|
|
<secondary>rule</secondary>
|
|
</indexterm>
|
|
<code language="jam">rule type ( filename )</code>
|
|
<para>
|
|
Returns file type given its name. If there are several
|
|
dots in filename, tries each suffix. E.g. for name of
|
|
"file.so.1.2" suffixes "2", "1", and "so" will be tried.
|
|
</para>
|
|
</listitem>
|
|
|
|
</orderedlist>
|
|
|
|
</section>
|