summaryrefslogtreecommitdiff
path: root/tools/build/v2/doc/src/abstract-target.xml
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build/v2/doc/src/abstract-target.xml')
-rw-r--r--tools/build/v2/doc/src/abstract-target.xml126
1 files changed, 126 insertions, 0 deletions
diff --git a/tools/build/v2/doc/src/abstract-target.xml b/tools/build/v2/doc/src/abstract-target.xml
new file mode 100644
index 0000000000..dad53380c4
--- /dev/null
+++ b/tools/build/v2/doc/src/abstract-target.xml
@@ -0,0 +1,126 @@
+<?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.class.abstract-target">
+
+ <title>Class abstract-target</title>
+ <indexterm>
+ <primary>abstract-target</primary>
+ </indexterm>
+
+ <para>
+ Base class for all abstract targets.
+ </para>
+
+<programlisting language="jam">
+class abstract-target {
+ rule <link linkend="bbv2.reference.class.abstract-target.__init__">__init__</link> ( name : project )
+ rule <link linkend="bbv2.reference.class.abstract-target.name">name</link> ( )
+ rule <link linkend="bbv2.reference.class.abstract-target.project">project</link> ( )
+ rule <link linkend="bbv2.reference.class.abstract-target.location">location</link> ( )
+ rule <link linkend="bbv2.reference.class.abstract-target.full-name">full-name</link> ( )
+ rule <link linkend="bbv2.reference.class.abstract-target.__init__">generate</link> ( property-set )
+}
+</programlisting>
+
+ <para>
+ Classes derived from <link linkend="bbv2.reference.class.abstract-target">abstract-target</link>:
+ <itemizedlist>
+ <listitem>
+ <link linkend="bbv2.reference.class.project-target">project-target</link>
+ </listitem>
+ <listitem>
+ <link linkend="bbv2.reference.class.main-target">main-target</link>
+ </listitem>
+ <listitem>
+ <link linkend="bbv2.reference.class.project-target">basic-target</link>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <orderedlist>
+
+ <listitem id="bbv2.reference.class.abstract-target.__init__">
+ <code language="jam">rule __init__ ( name : project )</code>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term><literal>name</literal></term>
+ <listitem>
+ <para>The name of the target in the Jamfile.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>project</literal></term>
+ <listitem>
+ <para>The <link linkend="bbv2.reference.class.project-target">project</link> to which this target belongs.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </listitem>
+
+ <listitem id="bbv2.reference.class.abstract-target.name">
+ <indexterm zone="bbv2.reference.class.abstract-target.name">
+ <primary>name</primary>
+ <secondary>Abstract Target</secondary>
+ </indexterm>
+ <code language="jam">rule name ( )</code>
+ <para>Returns the name of this target.</para>
+ </listitem>
+
+ <listitem id="bbv2.reference.class.abstract-target.project">
+ <indexterm zone="bbv2.reference.class.abstract-target.project">
+ <primary>project</primary>
+ <secondary>Abstract Target</secondary>
+ </indexterm>
+ <code language="jam">rule project ( )</code>
+ <para>Returns the <link linkend="bbv2.reference.class.project-target">project</link> for this target.</para>
+ </listitem>
+
+ <listitem id="bbv2.reference.class.abstract-target.location">
+ <indexterm zone="bbv2.reference.class.abstract-target.location">
+ <primary>location</primary>
+ <secondary>Abstract Target</secondary>
+ </indexterm>
+ <code language="jam">rule location ( )</code>
+ <para>Returns the location where the target was declared.</para>
+ </listitem>
+
+ <listitem id="bbv2.reference.class.abstract-target.full-name">
+ <indexterm zone="bbv2.reference.class.abstract-target.full-name">
+ <primary>full-name</primary>
+ <secondary>Abstract Target</secondary>
+ </indexterm>
+ <code language="jam">rule full-name ( )</code>
+ <para>Returns a user-readable name for this target.</para>
+ </listitem>
+
+ <listitem id="bbv2.reference.class.abstract-target.generate">
+ <indexterm zone="bbv2.reference.class.abstract-target.generate">
+ <primary>generate</primary>
+ <secondary>Abstract Target</secondary>
+ </indexterm>
+ <code language="jam">rule generate ( property-set )</code>
+ <para>
+ Generates virtual targets for this abstract target using the specified
+ properties, unless a different value of some feature is required by the
+ target. This is an abstract method which must be overriden by derived
+ classes.
+ </para>
+
+ <para>
+ On success, returns:
+ <itemizedlist>
+ <listitem>a property-set with the usage requirements to be applied to dependents</listitem>
+ <listitem>a list of produced virtual targets, which may be empty.</listitem>
+ </itemizedlist>
+ If <code language="jam">property-set</code> is empty, performs the
+ default build of this target, in a way specific to the derived class.
+ </para>
+ </listitem>
+
+ </orderedlist>
+
+</section>