ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/doc/html/binary.html
Revision: 1.1.2.2
Committed: Wed Oct 13 17:45:09 1999 UTC (25 years, 7 months ago) by williamc
Content type: text/html
Branch: V0_9branch
Changes since 1.1.2.1: +84 -11 lines
Log Message:
Document binaries

File Contents

# User Rev Content
1 williamc 1.1.2.1 <! Style Sheet Header>
2     <html>
3     <head>
4     <title>binary.html</title>
5     <body bgcolor="beige">
6     <! End Style Sheet Header -----------Insert Text Here --------------------->
7     <center>
8     <H1>Building Binaries</H1>
9     <font color=red>S</font>oftware <font color=red>C</font>onfiguration,
10     <font color=red>R</font>elease <font color=red>A</font>nd
11     <font color=red>M</font>anagement
12     </center>
13 williamc 1.1.2.2 Contents<br>
14     <ul>
15     <li><a href=QS>Quick-Start Build</a>
16     <li><a href=BOP>Alternative Build Operations</a>
17     <li><a href=Dep>Constructing BuildFiles</a>
18     </ul>
19 williamc 1.1.2.1 <hr>
20 williamc 1.1.2.2 <ol>
21     <a name=QS>
22     <h1>Building Operations</h2></a>
23     <li><h2>Quick-Start -- for PreDefined Builds</h2>
24 williamc 1.1.2.1 Goto the directory of the binary source files
25     <font +1>
26     <p>
27 williamc 1.1.2.2 <b>cd <em>binary_dir</em></b>
28 williamc 1.1.2.1 <p>
29     </font>
30     Start the build process
31     <p>
32     <font +1>
33 williamc 1.1.2.2 <b>scram build</b>
34 williamc 1.1.2.1 </font>
35     <p>
36     Setup your environment
37 williamc 1.1.2.2 <p>
38 williamc 1.1.2.1 <font +1>
39 williamc 1.1.2.2 <b>eval `scram runtime -csh`</b>
40 williamc 1.1.2.1 </font>
41     For csh like shells
42     <br>
43     or<br>
44     <font +1>
45 williamc 1.1.2.2 <b>eval `scram runtime -sh`</b>
46 williamc 1.1.2.1 </font>
47     For sh like shells
48     <p>
49     rehash for your shell.
50     <p>
51     <font +1>
52 williamc 1.1.2.2 <b>rehash</b>
53 williamc 1.1.2.1 </font>
54     <p>
55     Just type the executable name to run ...
56     <p>
57 williamc 1.1.2.2 <li><a name=BOP><h2>Alternative Build Operations</h2></a>
58 williamc 1.1.2.1 There are a number of targets available to help you specify exactly what you
59 williamc 1.1.2.2 wish to build. <br>
60     If no target is specified a default action is performed
61 williamc 1.1.2.1 which is defined according to the policy of the given project.
62     <p>
63     <h3>General Invocation</h3>
64     <font +1>
65 williamc 1.1.2.2 <b>scram build <em>target_name</em></b>
66 williamc 1.1.2.1 </font>
67 williamc 1.1.2.2 <p>
68     The target names available will be listed with the <b>scram build help</b> command
69     </ol>
70     <a name=Def>
71     <h1>Constructing a BuildFile to describe a binary</h1>
72     <ol>
73     <li><h2>The &lt;bin> tag</h2>
74     Syntax
75     <pre>
76     &lt;bin file=<em>filename</em> [name=alternativename]>
77     You can add some descriptive documentation for your executable here - how about a href?
78     &lt;/bin>
79     </pre>
80     Every executable to be made must have a corresponding bin tag in the BuildFile. <p>
81     The optional <b>name=</b>
82     argument allows you to change the name from the default (which is the filename
83     less the subscript)
84     <p>
85     <li><a name=Dep><h2>Specifying Dependencies</h2></a>
86     A binary can depend on many other elements. Currently scram supports the concepts and associated
87     tags as given in the table below :
88     <table>
89     <tr>
90     <td><font color=green>
91     &lt;external ref=<em>external_product_ref</em>></font></td>
92     <td>
93     Specify that the build requires some external product
94     (e.g. libraries, header files etc.). Currently the only supported ref is
95     a simple name label set at the project level. Such names are part of the project configuration.
96     </td>
97     </tr>
98     <tr>
99     <td><font color=green>
100     &lt;lib name=<em>libname</em>></font></td>
101     <td>Add a library name to the link line. It is assumed that the libraries can be found in the
102     standard scram search paths</td>
103     </tr>
104     <tr>
105     <td><font color=green>
106     &lt;Use name=<em>unit_name</em>></font></td>
107     <td>Inform build system that we require package <em>unit_name</em> in
108     the build. A package is a unit within the current source code and requires that an appropriate
109     interface has been defined in the appropriate BuildFile with the
110     <a href=export.html>&lt;export> tags</a>
111     </td>
112     </tr>
113     <tr>
114     <td><font color=green>
115     &lt;Group name=<em>group_name</em>></font></td>
116     <td>Inform build system to set a specific group.
117     Groups are either containers of other groups (defined at the project configuration level)
118     , or can be used to switch in/out functionality
119     from an <a href=export.html>&lt;export> interface</a>
120     </td>
121     </table>
122     Each of these tags can be put in the BuildFile to build up an 'Environment' in which the
123     binary is to be built. The BuildFile itself provides the base environment, however more control
124     can be achieved using the &lt;Environment> &lt;/Environment> tags, to determine its extent.
125     Any &lt;bin> tag inside the &lt;Environment> delimiters will be associated with that (and any other enclosing) environment.
126     Note that since the BuildFile is an Environment in itself - it encloses all other Environments and as such any dependency specified outside of an &lt;Environment> tag will apply to all binaries.
127     <p>
128     <a href=BuildFileExamples>Example BuildFile</a>
129     </ol>
130     <! Style Sheet Footer ---------------Do not change anything after this line-->
131 williamc 1.1.2.1 <hr>
132     <table border=1 width=100%>
133     <td align=left>
134     <a href=mailto:Christopher.Williams@cern.ch
135     >Chris Williams</a>
136     </td>
137     <td align=center>
138     Last Updated Wed Oct 13 16:20:58 1999
139     </td>
140     <td align=right><a href=/cgi-cmc/pagestat>Show Stats</a>
141     </td>
142     </table>
143     </body> </html>
144     <! End Style Sheet Footer>