ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/gcc-toolfile.spec
Revision: 1.3
Committed: Sat Jan 5 00:48:38 2008 UTC (17 years, 3 months ago) by eulisse
Branch: MAIN
CVS Tags: pe20080109a-ports, pe20080108c-ports, ge20080108-wt, pe20080108b-ports, pe20080108a-ports
Changes since 1.2: +1 -1 lines
Log Message:
Better version detection for local compiler.
* Specific to slc4.

File Contents

# User Rev Content
1 eulisse 1.1 ### RPM cms gcc-toolfile 1.0
2    
3     # gcc has a separate spec file for the generating a
4     # toolfile because gcc.spec could be not build because of the
5     # "--use-system-compiler" option.
6    
7     Source: none
8    
9     %prep
10     %build
11     %install
12     mkdir -p %i/etc/scram.d
13     if [ "X$GCC_ROOT" = X ]
14     then
15     GCC_PATH=`which gcc` || exit 1
16     GCC_ROOT=`echo $GCC_PATH | sed -e 's|/bin/gcc||'`
17 eulisse 1.3 GCC_VERSION=`gcc -v 2>&1 | grep "gcc version" | sed 's|[^0-9]*\([0-9].[0-9].[0-9]\).*|\1|'` || exit 1
18 eulisse 1.1 fi
19    
20     COMPILER_VERSION=`echo %cmsplatf | sed -e 's|.*gcc\([0-9]*\).*|\1|'`
21     COMPILER_VERSION_MAJOR=`echo %cmsplatf | sed -e 's|.*gcc\([0-9]\).*|\1|'`
22    
23     case %cmsplatf in
24     slc3* )
25     cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
26     <doc type=BuildSystem::ToolDoc version=1.1>
27     <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
28     <client>
29     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
30     <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
31     <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
32     </client>
33     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
34     <Flags CCcompiler="gcc@COMPILER_VERSION_MAJOR@">
35     <Flags MODULEFLAGS="-shared">
36     <Flags CXXDEBUGFLAG="-g">
37     <Flags CPPDEFINES="GNU_GCC">
38     <Flags CPPDEFINES="_GNU_SOURCE">
39     <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
40     <Flags CXXFLAGS="-pedantic -ansi -pthread -pipe">
41     <Flags CXXFLAGS="-O2">
42     <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
43     <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
44     <Flags LDFLAGS="-Wl,-E">
45     <Flags CXXSHAREDFLAGS="-Wl,-E">
46     <Flags SHAREDSUFFIX="so">
47     <Flags SCRAM_LANGUAGE_TYPE="C++">
48     <Runtime name=GCC_EXEC_PREFIX default="$GCC_BASE/lib/gcc-lib/">
49     <Runtime name=LD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
50     <Runtime name=PATH value="$GCC_BASE/bin" type=path>
51     </tool>
52     EOF_TOOLFILE
53     cat << \EOF_TOOLFILE >%i/etc/scram.d/ccompiler
54     <doc type=BuildSystem::ToolDoc version=1.1>
55     <tool name=ccompiler version=@GCC_VERSION@ type=compiler>
56     <client>
57     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
58     <Environment name=GCCBINDIR value="$GCC_BASE/bin"></Environment>
59     <Environment name=CC value="$GCCBINDIR/gcc"></Environment>
60     </client>
61     <Flags CDEBUGFLAG="-g">
62     <Flags CSHAREDOBJECTFLAGS="-fPIC">
63     <Flags CFLAGS="-pthread">
64     <Flags CFLAGS="-O2">
65     <Flags LDFLAGS="-Wl,-E">
66     <Flags CSHAREDFLAGS="-Wl,-E">
67     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
68     <Flags SCRAM_LANGUAGE_TYPE="C">
69     </tool>
70     EOF_TOOLFILE
71     cat << \EOF_TOOLFILE >%i/etc/scram.d/f77compiler
72     <doc type=BuildSystem::ToolDoc version=1.1>
73     <tool name=f77compiler version=@GCC_VERSION@ type=compiler>
74     <lib name=g2c>
75     <lib name=m>
76     <client>
77     <Environment name=G77_BASE default="@GCC_ROOT@"></Environment>
78     <Environment name=FC default="$G77_BASE/bin/g77"></Environment>
79     </client>
80     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
81     <Flags FFLAGS="-fno-second-underscore -Wno-globals -Wunused -Wuninitialized">
82     <Flags FCO2Flag="-O2">
83     <Flags FCOPTIMISED="-O2">
84     <Flags FCDEBUGFLAG="-g">
85     <Flags FCSHAREDOBJECTFLAGS="-fPIC">
86     <Flags SCRAM_LANGUAGE_TYPE="FORTRAN">
87     </tool>
88     EOF_TOOLFILE
89     ;;
90     slc4_ia32_gcc345 )
91     cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
92     <doc type=BuildSystem::ToolDoc version=1.1>
93     <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
94     <client>
95     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
96     <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
97     <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
98     </client>
99     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
100     <Flags CCcompiler="gcc@COMPILER_VERSION_MAJOR@">
101     <Flags MODULEFLAGS="-shared">
102     <Flags CXXDEBUGFLAG="-g">
103     <Flags CPPDEFINES="GNU_GCC">
104     <Flags CPPDEFINES="_GNU_SOURCE">
105     <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
106     <Flags CXXFLAGS="-pedantic -ansi -pthread -pipe">
107     <Flags CXXFLAGS="-O2">
108     <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
109     <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
110     <Flags LDFLAGS="-Wl,-E">
111     <Flags CXXSHAREDFLAGS="-Wl,-E">
112     <Flags SHAREDSUFFIX="so">
113     <Flags SCRAM_LANGUAGE_TYPE="C++">
114     <Runtime name=LD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
115     <Runtime name=PATH value="$GCC_BASE/bin" type=path>
116     </tool>
117     EOF_TOOLFILE
118     cat << \EOF_TOOLFILE >%i/etc/scram.d/ccompiler
119     <doc type=BuildSystem::ToolDoc version=1.1>
120     <tool name=ccompiler version=@GCC_VERSION@ type=compiler>
121     <client>
122     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
123     <Environment name=GCCBINDIR value="$GCC_BASE/bin"></Environment>
124     <Environment name=CC value="$GCCBINDIR/gcc"></Environment>
125     </client>
126     <Flags CDEBUGFLAG="-g">
127     <Flags CSHAREDOBJECTFLAGS="-fPIC">
128     <Flags CFLAGS="-pthread">
129     <Flags CFLAGS="-O2">
130     <Flags LDFLAGS="-Wl,-E">
131     <Flags CSHAREDFLAGS="-Wl,-E">
132     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
133     <Flags SCRAM_LANGUAGE_TYPE="C">
134     </tool>
135     EOF_TOOLFILE
136     cat << \EOF_TOOLFILE >%i/etc/scram.d/f77compiler
137     <doc type=BuildSystem::ToolDoc version=1.1>
138     <tool name=f77compiler version=@GCC_VERSION@ type=compiler>
139     <lib name=g2c>
140     <lib name=m>
141     <client>
142     <Environment name=G77_BASE default="@GCC_ROOT@"></Environment>
143     <Environment name=FC default="$G77_BASE/bin/g77"></Environment>
144     </client>
145     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
146     <Flags FFLAGS="-fno-second-underscore -Wno-globals -Wunused -Wuninitialized">
147     <Flags FCO2Flag="-O2">
148     <Flags FCOPTIMISED="-O2">
149     <Flags FCDEBUGFLAG="-g">
150     <Flags FCSHAREDOBJECTFLAGS="-fPIC">
151     <Flags SCRAM_LANGUAGE_TYPE="FORTRAN">
152     </tool>
153     EOF_TOOLFILE
154     ;;
155     slc4_ia32_gcc4* )
156     cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
157     <doc type=BuildSystem::ToolDoc version=1.1>
158     <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
159     <client>
160     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
161     <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
162     <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
163     </client>
164     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
165     <Flags CCcompiler="gcc@COMPILER_VERSION_MAJOR@">
166     <Flags MODULEFLAGS="-shared">
167     <Flags CXXDEBUGFLAG="-g">
168     <Flags CPPDEFINES="GNU_GCC">
169     <Flags CPPDEFINES="_GNU_SOURCE">
170     <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
171     <Flags CXXFLAGS="-pedantic -ansi -pthread -pipe">
172     <Flags CXXFLAGS="-O2">
173     <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
174     <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
175     <Flags LDFLAGS="-Wl,-E">
176     <Flags CXXSHAREDFLAGS="-Wl,-E">
177     <Flags SHAREDSUFFIX="so">
178     <Flags SCRAM_LANGUAGE_TYPE="C++">
179     <Runtime name=LD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
180     <Runtime name=PATH value="$GCC_BASE/bin" type=path>
181     </tool>
182     EOF_TOOLFILE
183     cat << \EOF_TOOLFILE >%i/etc/scram.d/ccompiler
184     <doc type=BuildSystem::ToolDoc version=1.1>
185     <tool name=ccompiler version=@GCC_VERSION@ type=compiler>
186     <client>
187     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
188     <Environment name=GCCBINDIR value="$GCC_BASE/bin"></Environment>
189     <Environment name=CC value="$GCCBINDIR/gcc"></Environment>
190     </client>
191     <Flags CDEBUGFLAG="-g">
192     <Flags CSHAREDOBJECTFLAGS="-fPIC">
193     <Flags CFLAGS="-pthread">
194     <Flags CFLAGS="-O2">
195     <Flags LDFLAGS="-Wl,-E">
196     <Flags CSHAREDFLAGS="-Wl,-E">
197     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
198     <Flags SCRAM_LANGUAGE_TYPE="C">
199     </tool>
200     EOF_TOOLFILE
201     cat << \EOF_TOOLFILE >%i/etc/scram.d/f77compiler
202     <doc type=BuildSystem::ToolDoc version=1.1>
203     <tool name=f77compiler version=@GCC_VERSION@ type=compiler>
204     <lib name=gfortran>
205     <lib name=m>
206     <client>
207     <Environment name=G77_BASE default="@GCC_ROOT@"></Environment>
208     <Environment name=FC default="$G77_BASE/bin/gfortran"></Environment>
209     </client>
210     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
211     <Flags FFLAGS="-fno-second-underscore -Wunused -Wuninitialized">
212     <Flags FCO2Flag="-O2">
213     <Flags FCOPTIMISED="-O2">
214     <Flags FCDEBUGFLAG="-g">
215     <Flags FCSHAREDOBJECTFLAGS="-fPIC">
216     <Flags SCRAM_LANGUAGE_TYPE="FORTRAN">
217     </tool>
218     EOF_TOOLFILE
219     ;;
220     slc4_amd64_* )
221     cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
222     <doc type=BuildSystem::ToolDoc version=1.1>
223     <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
224     <client>
225     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
226     <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
227     <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
228     </client>
229     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
230     <Flags CCcompiler="gcc@COMPILER_VERSION_MAJOR@">
231     <Flags MODULEFLAGS="-shared">
232     <Flags CXXDEBUGFLAG="-g">
233     <Flags CPPDEFINES="GNU_GCC">
234     <Flags CPPDEFINES="_GNU_SOURCE">
235     <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
236     <Flags CXXFLAGS="-pedantic -ansi -pthread -pipe">
237     <Flags CXXFLAGS="-O2">
238     <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
239     <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
240     <Flags LDFLAGS="-Wl,-E">
241     <Flags CXXSHAREDFLAGS="-Wl,-E">
242     <Flags SHAREDSUFFIX="so">
243     <Flags SCRAM_LANGUAGE_TYPE="C++">
244     <Runtime name=LD_LIBRARY_PATH value="$GCC_BASE/lib64" type=path>
245     <Runtime name=PATH value="$GCC_BASE/bin" type=path>
246     </tool>
247     EOF_TOOLFILE
248     cat << \EOF_TOOLFILE >%i/etc/scram.d/ccompiler
249     <doc type=BuildSystem::ToolDoc version=1.1>
250     <tool name=ccompiler version=@GCC_VERSION@ type=compiler>
251     <client>
252     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
253     <Environment name=GCCBINDIR value="$GCC_BASE/bin"></Environment>
254     <Environment name=CC value="$GCCBINDIR/gcc"></Environment>
255     </client>
256     <Flags CDEBUGFLAG="-g">
257     <Flags CSHAREDOBJECTFLAGS="-fPIC">
258     <Flags CFLAGS="-pthread">
259     <Flags CFLAGS="-O2">
260     <Flags LDFLAGS="-Wl,-E">
261     <Flags CSHAREDFLAGS="-Wl,-E">
262     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
263     <Flags SCRAM_LANGUAGE_TYPE="C">
264     </tool>
265     EOF_TOOLFILE
266     cat << \EOF_TOOLFILE >%i/etc/scram.d/f77compiler
267     <doc type=BuildSystem::ToolDoc version=1.1>
268     <tool name=f77compiler version=@GCC_VERSION@ type=compiler>
269     <lib name=g2c>
270     <lib name=m>
271     <client>
272     <Environment name=G77_BASE default="@GCC_ROOT@"></Environment>
273     <Environment name=FC default="$G77_BASE/bin/g77"></Environment>
274     </client>
275     <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
276     <Flags FFLAGS="-fno-second-underscore -Wno-globals -Wunused -Wuninitialized">
277     <Flags FCO2Flag="-O2">
278     <Flags FCOPTIMISED="-O2">
279     <Flags FCDEBUGFLAG="-g">
280     <Flags FCSHAREDOBJECTFLAGS="-fPIC">
281     <Flags SCRAM_LANGUAGE_TYPE="FORTRAN">
282     </tool>
283     EOF_TOOLFILE
284     ;;
285     osx104_ppc32_gcc40* )
286     cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
287     <doc type=BuildSystem::ToolDoc version=1.1>
288     <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
289     <client>
290     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
291     <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
292     <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
293     </client>
294     <Flags SCRAM_COMPILER_NAME="gcc40">
295     <Flags CCcompiler="gcc40">
296     <Flags MODULEFLAGS=" ">
297     <Flags CXXDEBUGFLAG="-g">
298     <Flags CPPDEFINES="GNU_GCC">
299     <Flags CPPDEFINES="_GNU_SOURCE">
300     <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
301     <Flags CXXFLAGS="-pedantic -ansi -pipe">
302     <Flags CXXFLAGS="-O2">
303     <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
304     <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
305     <Flags LDFLAGS=" ">
306     <Flags CXXSHAREDFLAGS="-dynamiclib -single_module">
307     <Flags SHAREDSUFFIX="dylib">
308     <Flags SCRAM_LANGUAGE_TYPE="C++">
309     <Runtime name=DYLD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
310     <Runtime name=PATH value="$GCC_BASE/bin" type=path>
311     </tool>
312     EOF_TOOLFILE
313     ;;
314 elmer 1.2 osx104_ia32_gcc40* )
315     cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
316     <doc type=BuildSystem::ToolDoc version=1.1>
317     <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
318     <client>
319     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
320     <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
321     <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
322     </client>
323     <Flags SCRAM_COMPILER_NAME="gcc40">
324     <Flags CCcompiler="gcc40">
325     <Flags MODULEFLAGS=" ">
326     <Flags CXXDEBUGFLAG="-g">
327     <Flags CPPDEFINES="GNU_GCC">
328     <Flags CPPDEFINES="_GNU_SOURCE">
329     <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
330     <Flags CXXFLAGS="-pedantic -ansi -pipe">
331     <Flags CXXFLAGS="-O2">
332     <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
333     <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
334     <Flags LDFLAGS=" ">
335     <Flags CXXSHAREDFLAGS="-dynamiclib -single_module">
336     <Flags SHAREDSUFFIX="dylib">
337     <Flags SCRAM_LANGUAGE_TYPE="C++">
338     <Runtime name=DYLD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
339     <Runtime name=PATH value="$GCC_BASE/bin" type=path>
340     </tool>
341     EOF_TOOLFILE
342     ;;
343 eulisse 1.1 osx105* )
344     cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
345     <doc type=BuildSystem::ToolDoc version=1.1>
346     <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
347     <client>
348     <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
349     <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
350     <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
351     </client>
352     <Flags SCRAM_COMPILER_NAME="gcc40">
353     <Flags CCcompiler="gcc40">
354     <Flags MODULEFLAGS=" ">
355     <Flags CXXDEBUGFLAG="-g">
356     <Flags CPPDEFINES="GNU_GCC">
357     <Flags CPPDEFINES="_GNU_SOURCE">
358     <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
359     <Flags CXXFLAGS="-pedantic -ansi -pipe">
360     <Flags CXXFLAGS="-O2">
361     <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
362     <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
363     <Flags LDFLAGS=" ">
364     <Flags CXXSHAREDFLAGS="-dynamiclib -single_module">
365     <Flags SHAREDSUFFIX="dylib">
366     <Flags SCRAM_LANGUAGE_TYPE="C++">
367     <Runtime name=DYLD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
368     <Runtime name=PATH value="$GCC_BASE/bin" type=path>
369     </tool>
370     EOF_TOOLFILE
371     ;;
372     esac
373    
374     perl -p -i -e "s|\@GCC_ROOT\@|$GCC_ROOT|g;
375     s|\@GCC_VERSION\@|$GCC_VERSION|g;
376     s|\@COMPILER_VERSION\@|$COMPILER_VERSION|g;
377     s|\@COMPILER_VERSION_MAJOR\@|$COMPILER_VERSION_MAJOR|g;
378     " %i/etc/scram.d/cxxcompiler \
379     %i/etc/scram.d/ccompiler \
380     %i/etc/scram.d/f77compiler
381     %post
382     %{relocateConfig}etc/scram.d/cxxcompiler
383     %{relocateConfig}etc/scram.d/ccompiler
384     %{relocateConfig}etc/scram.d/f77compiler