ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/doc/html/node29.html
Revision: 1.1
Committed: Mon Nov 18 17:50:01 2002 UTC (22 years, 5 months ago) by sashby
Content type: text/html
Branch: MAIN
CVS Tags: V1_pre0, V0_19_7
Branch point for: SCRAM_V1_BRANCH
Log Message:
Generated and added HTML documentation.

File Contents

# User Rev Content
1 sashby 1.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.2.2 Compiler Support</TITLE>
13     <META NAME="description" CONTENT="3.2.2 Compiler Support">
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="previous" HREF="node26.html">
25     <LINK REL="up" HREF="node25.html">
26     <LINK REL="next" HREF="node30.html">
27     </HEAD>
28    
29     <BODY bgcolor="beige" >
30     <!--Navigation Panel-->
31     <A NAME="tex2html747"
32     HREF="node30.html">
33     <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
34     SRC="file:/usr/share/latex2html/icons/next.png"></A>
35     <A NAME="tex2html741"
36     HREF="node25.html">
37     <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
38     SRC="file:/usr/share/latex2html/icons/up.png"></A>
39     <A NAME="tex2html737"
40     HREF="node28.html">
41     <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
42     SRC="file:/usr/share/latex2html/icons/prev.png"></A>
43     <A NAME="tex2html743"
44     HREF="node2.html">
45     <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
46     SRC="file:/usr/share/latex2html/icons/contents.png"></A>
47     <A NAME="tex2html745"
48     HREF="node85.html">
49     <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
50     SRC="file:/usr/share/latex2html/icons/index.png"></A>
51     <BR>
52     <B> Next:</B> <A NAME="tex2html748"
53     HREF="node30.html">3.3 Defining and Exporting</A>
54     <B> Up:</B> <A NAME="tex2html742"
55     HREF="node25.html">3.2 The SCRAM Build</A>
56     <B> Previous:</B> <A NAME="tex2html738"
57     HREF="node28.html">3.2.1.0.2 ProductStore Example:</A>
58     &nbsp <B> <A NAME="tex2html744"
59     HREF="node2.html">Contents</A></B>
60     &nbsp <B> <A NAME="tex2html746"
61     HREF="node85.html">Index</A></B>
62     <BR>
63     <BR>
64     <!--End of Navigation Panel-->
65    
66     <H2><A NAME="SECTION00422000000000000000"></A><A NAME="sec:compilersupport"></A><A NAME="820"></A>
67     <A NAME="821"></A>
68     <BR>
69     3.2.2 Compiler Support
70     </H2>
71     The project <TT>BuildFile</TT> also specifies which compilers are
72     to be used. There are two options: either a default compiler can be
73     chosen using an &lt;<TT>external</TT>&gt; tag in the relevant architecture
74     block, or, alternatively, multiple compilers can be set up and the user can
75     switch between them before build operations.
76     By supporting multiple compilers for the same
77     architecture, coding practices can be tested more thoroughly.
78     <A NAME="824"></A>
79     <A NAME="825"></A>
80     The first option is achieved using
81     &lt;<TT>architecture</TT>...&gt; tags like this-
82    
83     <P>
84     <PRE>
85     &lt;Architecture name=Linux__2.2&gt;
86     &lt;External ref=gcc&gt;
87     CCcompiler:=gcc
88     &lt;/Architecture&gt;
89     </PRE>
90     <P>
91     In this case <TT>gcc</TT> will be the compiler used on a
92     platform that has a <SMALL>SCRAM</SMALL>&nbsp;architecture of
93     <TT>Linux__2.2</TT>. Note that the <I>version</I> of the
94     compiler is set by the configuration used by the project: the
95     configuration version is specified in the <TT>requirementsdoc</TT>.
96     The second option, using several compilers on one architecture,
97     involves the following steps:
98    
99     <OL>
100     <LI>Ensure that all compilers that are required have been added to
101     the configuration in the appropriate architecture block,
102     and have been selected in the project <TT>RequirementsDoc</TT>.
103     </LI>
104     <LI>Any &lt;<TT>external</TT>&gt; tags in architecture blocks must be removed.
105     </LI>
106     <LI>Each compiler must be set up appropriately on the current system.
107     </LI>
108     <LI>A compiler is selected for use before building using the command
109     <TT>scram switch</TT>
110    
111     &nbsp;<I>statements</I>
112     </LI>
113     </OL>
114     where the statements are typical makefile variable settings like
115     <I>compiler_name</I>=<TT>true</TT>. Any valid statement can be
116     passed directly to the build system and will be permanent until a
117     subsequent <TT>scram b very_clean</TT> removes the makefile
118     stub that contains the statements. Any changes resulting from use of
119     this command will override matching settings in the project <TT>BuildFile</TT>.
120    
121     <P>
122     <HR>
123     <!--Navigation Panel-->
124     <A NAME="tex2html747"
125     HREF="node30.html">
126     <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
127     SRC="file:/usr/share/latex2html/icons/next.png"></A>
128     <A NAME="tex2html741"
129     HREF="node25.html">
130     <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
131     SRC="file:/usr/share/latex2html/icons/up.png"></A>
132     <A NAME="tex2html737"
133     HREF="node28.html">
134     <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
135     SRC="file:/usr/share/latex2html/icons/prev.png"></A>
136     <A NAME="tex2html743"
137     HREF="node2.html">
138     <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
139     SRC="file:/usr/share/latex2html/icons/contents.png"></A>
140     <A NAME="tex2html745"
141     HREF="node85.html">
142     <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
143     SRC="file:/usr/share/latex2html/icons/index.png"></A>
144     <BR>
145     <B> Next:</B> <A NAME="tex2html748"
146     HREF="node30.html">3.3 Defining and Exporting</A>
147     <B> Up:</B> <A NAME="tex2html742"
148     HREF="node25.html">3.2 The SCRAM Build</A>
149     <B> Previous:</B> <A NAME="tex2html738"
150     HREF="node28.html">3.2.1.0.2 ProductStore Example:</A>
151     &nbsp <B> <A NAME="tex2html744"
152     HREF="node2.html">Contents</A></B>
153     &nbsp <B> <A NAME="tex2html746"
154     HREF="node85.html">Index</A></B>
155     <!--End of Navigation Panel-->
156     <ADDRESS>
157     scram-developers@cern.ch
158     </ADDRESS>
159     </BODY>
160     </HTML>