1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
2 |
|
3 |
<!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4
|
4 |
patched version by: Kenshi Muto, Debian Project.
|
5 |
LaTeX2HTML 2002 (1.62),
|
6 |
original version by: Nikos Drakos, CBLU, University of Leeds
|
7 |
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
8 |
* with significant contributions from:
|
9 |
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
10 |
<HTML>
|
11 |
<HEAD>
|
12 |
<TITLE>3.3.1 Defining the Interface</TITLE>
|
13 |
<META NAME="description" CONTENT="3.3.1 Defining the Interface">
|
14 |
<META NAME="keywords" CONTENT="SCRAM">
|
15 |
<META NAME="resource-type" CONTENT="document">
|
16 |
<META NAME="distribution" CONTENT="global">
|
17 |
|
18 |
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
19 |
<META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4">
|
20 |
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
21 |
|
22 |
<LINK REL="STYLESHEET" HREF="SCRAM.css">
|
23 |
|
24 |
<LINK REL="next" HREF="node32.html">
|
25 |
<LINK REL="previous" HREF="node30.html">
|
26 |
<LINK REL="up" HREF="node30.html">
|
27 |
<LINK REL="next" HREF="node32.html">
|
28 |
</HEAD>
|
29 |
|
30 |
<BODY bgcolor="beige" >
|
31 |
<!--Navigation Panel-->
|
32 |
<A NAME="tex2html778"
|
33 |
HREF="node32.html">
|
34 |
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
35 |
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
36 |
<A NAME="tex2html772"
|
37 |
HREF="node30.html">
|
38 |
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
39 |
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
40 |
<A NAME="tex2html766"
|
41 |
HREF="node30.html">
|
42 |
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
43 |
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
44 |
<A NAME="tex2html774"
|
45 |
HREF="node2.html">
|
46 |
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
47 |
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
48 |
<A NAME="tex2html776"
|
49 |
HREF="node85.html">
|
50 |
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
51 |
SRC="file:/usr/share/latex2html/icons/index.png"></A>
|
52 |
<BR>
|
53 |
<B> Next:</B> <A NAME="tex2html779"
|
54 |
HREF="node32.html">3.3.2 Defining Groups</A>
|
55 |
<B> Up:</B> <A NAME="tex2html773"
|
56 |
HREF="node30.html">3.3 Defining and Exporting</A>
|
57 |
<B> Previous:</B> <A NAME="tex2html767"
|
58 |
HREF="node30.html">3.3 Defining and Exporting</A>
|
59 |
  <B> <A NAME="tex2html775"
|
60 |
HREF="node2.html">Contents</A></B>
|
61 |
  <B> <A NAME="tex2html777"
|
62 |
HREF="node85.html">Index</A></B>
|
63 |
<BR>
|
64 |
<BR>
|
65 |
<!--End of Navigation Panel-->
|
66 |
|
67 |
<H2><A NAME="SECTION00431000000000000000"></A>
|
68 |
<A NAME="851"></A>
|
69 |
<BR>
|
70 |
3.3.1 Defining the Interface
|
71 |
</H2>
|
72 |
The interface to the software unit is defined using
|
73 |
<<TT>export</TT>> tags. A software unit can be a collection of
|
74 |
libraries and any number of valid <TT>ActiveDoc</TT> tags that are
|
75 |
relevant for the build system. The declarations are stated in a
|
76 |
<TT>BuildFile</TT> for the software unit and will be included whenever
|
77 |
another software unit asks for the interface. For example, suppose a
|
78 |
subsystem exists called <TT>myCARF</TT>. In the directory of the
|
79 |
subsystem (<TT>src/myCARF</TT>) there will be a <TT>BuildFile</TT>
|
80 |
with entries like these:
|
81 |
<A NAME="1860"></A><A NAME="859"></A><PRE>
|
82 |
<export autoexport=false>
|
83 |
<lib name=MetaData></lib>
|
84 |
<lib name=SysCollection></lib>
|
85 |
<lib name=BaseMD></lib>
|
86 |
<lib name=SetUp></lib>
|
87 |
<lib name=Application></lib>
|
88 |
<group name=Persistency></Group>
|
89 |
<use name=Utilities></Use>
|
90 |
</export>
|
91 |
</PRE><A NAME="862"></A>
|
92 |
To use this subsystem (and the libraries), it is sufficient to add the
|
93 |
statement <<TT>use</TT> name=<TT>myCARF</TT>> to the
|
94 |
<TT>BuildFile</TT>. Note that another subsystem <TT>Utilities</TT> is
|
95 |
referred to using a <<TT>use</TT>> tag. Subsystems from external
|
96 |
projects can be accessed in the same way using the <TT>use</TT> option
|
97 |
in an <<TT>external</TT>...> statement. For example, to include
|
98 |
the subsystem <TT>SUBSYSA</TT> from the external tool
|
99 |
<TT>ProjectB</TT>, one would use the statement
|
100 |
|
101 |
<UL>
|
102 |
<<TT>external</TT> ref=<TT>ProjectB</TT> use=<TT>SUBSYSA</TT>>
|
103 |
</LI>
|
104 |
</UL>
|
105 |
<P>
|
106 |
in the <TT>BuildFile</TT>.
|
107 |
|
108 |
<P>
|
109 |
<HR>
|
110 |
<!--Navigation Panel-->
|
111 |
<A NAME="tex2html778"
|
112 |
HREF="node32.html">
|
113 |
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
114 |
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
115 |
<A NAME="tex2html772"
|
116 |
HREF="node30.html">
|
117 |
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
118 |
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
119 |
<A NAME="tex2html766"
|
120 |
HREF="node30.html">
|
121 |
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
122 |
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
123 |
<A NAME="tex2html774"
|
124 |
HREF="node2.html">
|
125 |
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
126 |
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
127 |
<A NAME="tex2html776"
|
128 |
HREF="node85.html">
|
129 |
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
130 |
SRC="file:/usr/share/latex2html/icons/index.png"></A>
|
131 |
<BR>
|
132 |
<B> Next:</B> <A NAME="tex2html779"
|
133 |
HREF="node32.html">3.3.2 Defining Groups</A>
|
134 |
<B> Up:</B> <A NAME="tex2html773"
|
135 |
HREF="node30.html">3.3 Defining and Exporting</A>
|
136 |
<B> Previous:</B> <A NAME="tex2html767"
|
137 |
HREF="node30.html">3.3 Defining and Exporting</A>
|
138 |
  <B> <A NAME="tex2html775"
|
139 |
HREF="node2.html">Contents</A></B>
|
140 |
  <B> <A NAME="tex2html777"
|
141 |
HREF="node85.html">Index</A></B>
|
142 |
<!--End of Navigation Panel-->
|
143 |
<ADDRESS>
|
144 |
scram-developers@cern.ch
|
145 |
</ADDRESS>
|
146 |
</BODY>
|
147 |
</HTML>
|