]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/tools/build/doc/src/basic-target.xml
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / tools / build / doc / src / basic-target.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE section PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
3 "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
4
5 <section id="bbv2.reference.class.basic-target">
6
7 <title>Class basic-target</title>
8 <indexterm>
9 <primary>basic-target</primary>
10 </indexterm>
11
12 <programlisting language="jam">
13 class basic-target : <link linkend="bbv2.reference.class.abstract-target">abstract-target</link> {
14 rule <link linkend="bbv2.reference.class.basic-target.__init__">__init__</link> ( name : project : sources * : requirements * : default-build * : usage-requirements * )
15 rule <link linkend="bbv2.reference.class.basic-target.generate">generate</link> ( property-set )
16 rule <link linkend="bbv2.reference.class.basic-target.construct">construct</link> ( name : source-targets * : property-set )
17
18 # Methods inherited from <link linkend="bbv2.reference.class.abstract-target">abstract-target</link>
19 rule <link linkend="bbv2.reference.class.abstract-target.name">name</link> ( )
20 rule <link linkend="bbv2.reference.class.abstract-target.project">project</link> ( )
21 rule <link linkend="bbv2.reference.class.abstract-target.location">location</link> ( )
22 rule <link linkend="bbv2.reference.class.abstract-target.full-name">full-name</link> ( )
23 }
24 </programlisting>
25
26 <para>
27 Implements the most standard way of constructing main target alternative from
28 sources. Allows sources to be either files or other main targets and handles
29 generation of those dependency targets.
30 <!-- FIXME: Better description of sources. The sources can be either target
31 references or instances of abstract-target. -->
32 </para>
33
34 <orderedlist>
35
36 <listitem id="bbv2.reference.class.basic-target.__init__">
37 <code language="jam">rule __init__ ( name : project : sources * : requirements * : default-build * : usage-requirements * )</code>
38 <para>
39 <variablelist>
40 <varlistentry>
41 <term><literal>name</literal></term>
42 <listitem><para>The name of the target</para></listitem>
43 </varlistentry>
44 <varlistentry>
45 <term><literal>project</literal></term>
46 <listitem>
47 <para>
48 The <link linkend="bbv2.reference.class.project-target">project</link>
49 in which the target is declared.
50 </para>
51 </listitem>
52 </varlistentry>
53 </variablelist>
54 </para>
55 </listitem>
56
57 <listitem id="bbv2.reference.class.basic-target.generate">
58 <indexterm zone="bbv2.reference.class.basic-target.generate">
59 <primary>generate</primary>
60 <secondary>Basic Target Method</secondary>
61 </indexterm>
62 <code language="jam">rule generate ( property-set )</code>
63 <para>
64 Overrides
65 <link linkend="bbv2.reference.class.abstract-target.generate">abstract-target.generate</link>.
66
67 Determines final build properties, generates sources, and calls
68 <link linkend="bbv2.reference.class.basic-target.construct">construct</link>.
69 This method should not be overridden.
70 </para>
71
72 <para>
73 On success, returns:
74 <itemizedlist>
75 <listitem>a property-set with the usage requirements to be applied to dependents</listitem>
76 <listitem>a list of produced virtual targets, which may be empty.</listitem>
77 </itemizedlist>
78 </para>
79 </listitem>
80
81 <listitem id="bbv2.reference.class.basic-target.construct">
82 <indexterm zone="bbv2.reference.class.basic-target.construct">
83 <primary>construct</primary>
84 <secondary>Basic Target Method</secondary>
85 </indexterm>
86 <code language="jam">rule construct ( name : source-targets * : property-set )</code>
87 <para>
88 Constructs virtual targets for this abstract target. Returns a
89 usage-requirements property-set and a list of virtual
90 targets. Should be overriden in derived classes.
91 </para>
92 </listitem>
93
94 </orderedlist>
95
96 </section>