ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/doc/html/binary.html
Revision: 1.5
Committed: Mon Nov 18 11:31:38 2002 UTC (22 years, 5 months ago) by sashby
Content type: text/html
Branch: MAIN
CVS Tags: V1_pre0, HEAD
Branch point for: SCRAM_V1_BRANCH
Changes since 1.4: +0 -0 lines
State: FILE REMOVED
Log Message:
Removed old documentation.

File Contents

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