ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/gcc-toolfile.spec
(Generate patch)

Comparing COMP/CMSDIST/gcc-toolfile.spec (file contents):
Revision 1.7 by elmer, Fri Apr 3 20:24:21 2009 UTC vs.
Revision 1.29 by eulisse, Tue Aug 10 09:10:48 2010 UTC

# Line 1 | Line 1
1 < ### RPM cms gcc-toolfile 4.3.2
1 > ### RPM cms gcc-toolfile 10.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
# Line 20 | Line 20 | fi
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 + # Generate general template for the tool files. Note that on top of
24 + # this template there are some additional cmsplatf-dependent substitutions
25 + # and some overall general substitutions below
26   case %cmsplatf in
27 < slc3* )
28 < cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
29 < <doc type=BuildSystem::ToolDoc version=1.1>
30 < <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
31 < <client>
32 < <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
33 < <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
34 < <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
35 < </client>
36 < <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
37 < <Flags CCcompiler="gcc@COMPILER_VERSION_MAJOR@">
38 < <Flags MODULEFLAGS="-shared">
39 < <Flags CXXDEBUGFLAG="-g">
40 < <Flags CPPDEFINES="GNU_GCC">
41 < <Flags CPPDEFINES="_GNU_SOURCE">
42 < <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
43 < <Flags CXXFLAGS="-pedantic -ansi -pthread -pipe">
44 < <Flags CXXFLAGS="-O2">
45 < <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
46 < <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
47 < <Flags LDFLAGS="-Wl,-E">
48 < <Flags CXXSHAREDFLAGS="-Wl,-E">
49 < <Flags SHAREDSUFFIX="so">
50 < <Flags SCRAM_LANGUAGE_TYPE="C++">
51 < <Runtime name=GCC_EXEC_PREFIX default="$GCC_BASE/lib/gcc-lib/">
52 < <Runtime name=LD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
53 < <Runtime name=PATH value="$GCC_BASE/bin" type=path>
54 < </tool>
55 < EOF_TOOLFILE
56 < cat << \EOF_TOOLFILE >%i/etc/scram.d/ccompiler
57 < <doc type=BuildSystem::ToolDoc version=1.1>
58 < <tool name=ccompiler version=@GCC_VERSION@ type=compiler>
59 < <client>
60 < <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
61 < <Environment name=GCCBINDIR value="$GCC_BASE/bin"></Environment>
62 < <Environment name=CC value="$GCCBINDIR/gcc"></Environment>
63 < </client>
64 < <Flags CDEBUGFLAG="-g">
65 < <Flags CSHAREDOBJECTFLAGS="-fPIC">
66 < <Flags CFLAGS="-pthread">
67 < <Flags CFLAGS="-O2">
68 < <Flags LDFLAGS="-Wl,-E">
69 < <Flags CSHAREDFLAGS="-Wl,-E">
70 < <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
71 < <Flags SCRAM_LANGUAGE_TYPE="C">
72 < </tool>
73 < EOF_TOOLFILE
74 < cat << \EOF_TOOLFILE >%i/etc/scram.d/f77compiler
75 < <doc type=BuildSystem::ToolDoc version=1.1>
76 < <tool name=f77compiler version=@GCC_VERSION@ type=compiler>
77 < <lib name=g2c>
78 < <lib name=m>
79 < <client>
80 < <Environment name=G77_BASE default="@GCC_ROOT@"></Environment>
81 < <Environment name=FC default="$G77_BASE/bin/g77"></Environment>
82 < </client>
83 < <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
84 < <Flags FFLAGS="-fno-second-underscore -Wno-globals -Wunused -Wuninitialized">
85 < <Flags FCO2Flag="-O2">
86 < <Flags FCOPTIMISED="-O2">
87 < <Flags FCDEBUGFLAG="-g">
88 < <Flags FCSHAREDOBJECTFLAGS="-fPIC">
89 < <Flags SCRAM_LANGUAGE_TYPE="FORTRAN">
90 < </tool>
91 < EOF_TOOLFILE
92 < ;;
93 < slc4_ia32_gcc345 )
94 < cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
95 < <doc type=BuildSystem::ToolDoc version=1.1>
96 < <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
97 < <client>
98 < <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
99 < <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
100 < <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
101 < </client>
102 < <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
103 < <Flags CCcompiler="gcc@COMPILER_VERSION_MAJOR@">
104 < <Flags MODULEFLAGS="-shared">
105 < <Flags CXXDEBUGFLAG="-g">
106 < <Flags CPPDEFINES="GNU_GCC">
107 < <Flags CPPDEFINES="_GNU_SOURCE">
108 < <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
109 < <Flags CXXFLAGS="-pedantic -ansi -pthread -pipe">
110 < <Flags CXXFLAGS="-O2">
111 < <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
112 < <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
113 < <Flags LDFLAGS="-Wl,-E">
114 < <Flags CXXSHAREDFLAGS="-Wl,-E">
115 < <Flags SHAREDSUFFIX="so">
116 < <Flags SCRAM_LANGUAGE_TYPE="C++">
117 < <Runtime name=LD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
118 < <Runtime name=PATH value="$GCC_BASE/bin" type=path>
119 < </tool>
120 < EOF_TOOLFILE
121 < cat << \EOF_TOOLFILE >%i/etc/scram.d/ccompiler
122 < <doc type=BuildSystem::ToolDoc version=1.1>
123 < <tool name=ccompiler version=@GCC_VERSION@ type=compiler>
124 < <client>
125 < <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
126 < <Environment name=GCCBINDIR value="$GCC_BASE/bin"></Environment>
127 < <Environment name=CC value="$GCCBINDIR/gcc"></Environment>
128 < </client>
129 < <Flags CDEBUGFLAG="-g">
130 < <Flags CSHAREDOBJECTFLAGS="-fPIC">
131 < <Flags CFLAGS="-pthread">
132 < <Flags CFLAGS="-O2">
133 < <Flags LDFLAGS="-Wl,-E">
134 < <Flags CSHAREDFLAGS="-Wl,-E">
135 < <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
136 < <Flags SCRAM_LANGUAGE_TYPE="C">
137 < </tool>
138 < EOF_TOOLFILE
139 < cat << \EOF_TOOLFILE >%i/etc/scram.d/f77compiler
140 < <doc type=BuildSystem::ToolDoc version=1.1>
141 < <tool name=f77compiler version=@GCC_VERSION@ type=compiler>
142 < <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* | slc5_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_gcc3* | slc5_amd64_gcc3* )
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 < slc4_amd64_gcc4* | slc5_amd64_gcc4* )
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="gcc@COMPILER_VERSION@">
295 < <Flags CCcompiler="gcc@COMPILER_VERSION_MAJOR@">
296 < <Flags MODULEFLAGS="-shared">
297 < <Flags CXXDEBUGFLAG="-g">
298 < <Flags CPPDEFINES="GNU_GCC">
299 < <Flags CPPDEFINES="_GNU_SOURCE">
300 < <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
301 < <Flags CXXFLAGS="-pedantic -ansi -pthread -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="-Wl,-E">
306 < <Flags CXXSHAREDFLAGS="-Wl,-E">
307 < <Flags SHAREDSUFFIX="so">
308 < <Flags SCRAM_LANGUAGE_TYPE="C++">
309 < <Runtime name=LD_LIBRARY_PATH value="$GCC_BASE/lib64" type=path>
310 < <Runtime name=PATH value="$GCC_BASE/bin" type=path>
311 < </tool>
312 < EOF_TOOLFILE
313 < cat << \EOF_TOOLFILE >%i/etc/scram.d/ccompiler
314 < <doc type=BuildSystem::ToolDoc version=1.1>
315 < <tool name=ccompiler version=@GCC_VERSION@ type=compiler>
316 < <client>
317 < <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
318 < <Environment name=GCCBINDIR value="$GCC_BASE/bin"></Environment>
319 < <Environment name=CC value="$GCCBINDIR/gcc"></Environment>
320 < </client>
321 < <Flags CDEBUGFLAG="-g">
322 < <Flags CSHAREDOBJECTFLAGS="-fPIC">
323 < <Flags CFLAGS="-pthread">
324 < <Flags CFLAGS="-O2">
325 < <Flags LDFLAGS="-Wl,-E">
326 < <Flags CSHAREDFLAGS="-Wl,-E">
327 < <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
328 < <Flags SCRAM_LANGUAGE_TYPE="C">
329 < </tool>
330 < EOF_TOOLFILE
331 < cat << \EOF_TOOLFILE >%i/etc/scram.d/f77compiler
332 < <doc type=BuildSystem::ToolDoc version=1.1>
333 < <tool name=f77compiler version=@GCC_VERSION@ type=compiler>
334 < <lib name=gfortran>
335 < <lib name=m>
336 < <client>
337 < <Environment name=G77_BASE default="@GCC_ROOT@"></Environment>
338 < <Environment name=FC default="$G77_BASE/bin/gfortran"></Environment>
339 < </client>
340 < <Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@">
341 < <Flags FFLAGS="-fno-second-underscore -Wunused -Wuninitialized">
342 < <Flags FCO2Flag="-O2">
343 < <Flags FCOPTIMISED="-O2">
344 < <Flags FCDEBUGFLAG="-g">
345 < <Flags FCSHAREDOBJECTFLAGS="-fPIC">
346 < <Flags SCRAM_LANGUAGE_TYPE="FORTRAN">
347 < </tool>
348 < EOF_TOOLFILE
349 < ;;
350 < osx104_ppc32_gcc40* )
351 < cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
352 < <doc type=BuildSystem::ToolDoc version=1.1>
353 < <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
354 < <client>
355 < <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
356 < <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
357 < <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
358 < </client>
359 < <Flags SCRAM_COMPILER_NAME="gcc40">
360 < <Flags CCcompiler="gcc40">
361 < <Flags MODULEFLAGS=" ">
362 < <Flags CXXDEBUGFLAG="-g">
363 < <Flags CPPDEFINES="GNU_GCC">
364 < <Flags CPPDEFINES="_GNU_SOURCE">
365 < <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
366 < <Flags CXXFLAGS="-pedantic -ansi -pipe">
367 < <Flags CXXFLAGS="-O2">
368 < <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
369 < <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
370 < <Flags LDFLAGS=" ">
371 < <Flags CXXSHAREDFLAGS="-dynamiclib -single_module">
372 < <Flags SHAREDSUFFIX="dylib">
373 < <Flags SCRAM_LANGUAGE_TYPE="C++">
374 < <Runtime name=DYLD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
375 < <Runtime name=PATH value="$GCC_BASE/bin" type=path>
376 < </tool>
377 < EOF_TOOLFILE
378 < ;;
379 < osx104_ia32_gcc40* )
380 < cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
381 < <doc type=BuildSystem::ToolDoc version=1.1>
382 < <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
383 < <client>
384 < <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
385 < <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
386 < <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
387 < </client>
388 < <Flags SCRAM_COMPILER_NAME="gcc40">
389 < <Flags CCcompiler="gcc40">
390 < <Flags MODULEFLAGS=" ">
391 < <Flags CXXDEBUGFLAG="-g">
392 < <Flags CPPDEFINES="GNU_GCC">
393 < <Flags CPPDEFINES="_GNU_SOURCE">
394 < <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
395 < <Flags CXXFLAGS="-pedantic -ansi -pipe">
396 < <Flags CXXFLAGS="-O2">
397 < <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
398 < <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
399 < <Flags LDFLAGS=" ">
400 < <Flags CXXSHAREDFLAGS="-dynamiclib -single_module">
401 < <Flags SHAREDSUFFIX="dylib">
402 < <Flags SCRAM_LANGUAGE_TYPE="C++">
403 < <Runtime name=DYLD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
404 < <Runtime name=PATH value="$GCC_BASE/bin" type=path>
405 < </tool>
406 < EOF_TOOLFILE
407 < ;;
408 < osx105* )
409 < cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler
410 < <doc type=BuildSystem::ToolDoc version=1.1>
411 < <tool name=cxxcompiler version=@GCC_VERSION@ type=compiler>
412 < <client>
413 < <Environment name=GCC_BASE default="@GCC_ROOT@"></Environment>
414 < <Environment name=GCCBINDIR default="$GCC_BASE/bin"></Environment>
415 < <Environment name=CXX value="$GCCBINDIR/c++"></Environment>
416 < </client>
417 < <Flags SCRAM_COMPILER_NAME="gcc40">
418 < <Flags CCcompiler="gcc40">
419 < <Flags MODULEFLAGS=" ">
420 < <Flags CXXDEBUGFLAG="-g">
421 < <Flags CPPDEFINES="GNU_GCC">
422 < <Flags CPPDEFINES="_GNU_SOURCE">
423 < <Flags CXXSHAREDOBJECTFLAGS="-fPIC">
424 < <Flags CXXFLAGS="-pedantic -ansi -pipe">
425 < <Flags CXXFLAGS="-O2">
426 < <Flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300">
427 < <Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses">
428 < <Flags LDFLAGS=" ">
429 < <Flags CXXSHAREDFLAGS="-dynamiclib -single_module">
430 < <Flags SHAREDSUFFIX="dylib">
431 < <Flags SCRAM_LANGUAGE_TYPE="C++">
432 < <Runtime name=DYLD_LIBRARY_PATH value="$GCC_BASE/lib" type=path>
433 < <Runtime name=PATH value="$GCC_BASE/bin" type=path>
434 < </tool>
27 > slc5_ia32_gcc4* | slc5_amd64_gcc4* | slc5onl_ia32_gcc4* )
28 > cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler.xml
29 >  <tool name="cxxcompiler" version="@GCC_VERSION@" type="compiler">
30 >    <client>
31 >      <environment name="GCC_BASE" default="@GCC_ROOT@"/>
32 >      <environment name="GCCBINDIR" default="$GCC_BASE/bin"/>
33 >      <environment name="CXX" value="$GCCBINDIR/c++"/>
34 >    </client>
35 >    <flags scram_compiler_name="gcc@COMPILER_VERSION@"/>
36 >    <flags cccompiler="gcc@COMPILER_VERSION_MAJOR@"/>
37 >    <flags moduleflags="-shared"/>
38 >    <flags cxxdebugflag="-g"/>
39 >    <flags cppdefines="GNU_GCC"/>
40 >    <flags cppdefines="_GNU_SOURCE"/>
41 >    <flags cxxsharedobjectflags="-fPIC"/>
42 >    <flags cxxflags="-pedantic -ansi -pthread -pipe"/>
43 >    <flags cxxflags="@GXXOPT@"/>
44 >    <flags cxxflags="-felide-constructors -fmessage-length=0 -ftemplate-depth-300"/>
45 >    <flags cxxflags="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses -Werror=array-bounds -Wno-deprecated -Werror=overflow -Werror=return-type -Werror=format-contains-nul -Werror=missing-braces -Werror=unused-value -Werror=address -Werror=format -Werror=sign-compare -Werror=write-strings -Werror=strict-overflow -fdiagnostics-show-option"/>
46 >    <flags ldflags="@LDOPT@"/>
47 >    <flags cxxsharedflags="-Wl,-E"/>
48 >    <flags sharedsuffix="so"/>
49 >    <flags scram_language_type="C++"/>
50 >    <runtime name="LD_LIBRARY_PATH" value="$GCC_BASE/lib64" type="path"/>
51 >    <runtime name="LD_LIBRARY_PATH" value="$GCC_BASE/lib" type="path"/>
52 >    <runtime name="PATH" value="$GCC_BASE/bin" type="path"/>
53 >  </tool>
54 > EOF_TOOLFILE
55 > cat << \EOF_TOOLFILE >%i/etc/scram.d/ccompiler.xml
56 >  <tool name="ccompiler" version="@GCC_VERSION@" type="compiler">
57 >    <client>
58 >      <environment name="GCC_BASE" default="@GCC_ROOT@"/>
59 >      <environment name="GCCBINDIR" value="$GCC_BASE/bin"/>
60 >      <environment name="CC" value="$GCCBINDIR/gcc"/>
61 >    </client>
62 >    <flags cdebugflag="-g"/>
63 >    <flags csharedobjectflags="-fPIC"/>
64 >    <flags cflags="-pthread"/>
65 >    <flags cflags="-O2"/>
66 >    <flags ldflags="-Wl,-E"/>
67 >    <flags csharedflags="-Wl,-E"/>
68 >    <flags scram_compiler_name="gcc@COMPILER_VERSION@"/>
69 >    <flags scram_language_type="C"/>
70 >  </tool>
71 > EOF_TOOLFILE
72 > cat << \EOF_TOOLFILE >%i/etc/scram.d/f77compiler.xml
73 >  <tool name="f77compiler" version="@GCC_VERSION@" type="compiler">
74 >    <lib name="gfortran"/>
75 >    <lib name="m"/>
76 >    <client>
77 >      <environment name="G77_BASE" default="@GCC_ROOT@"/>
78 >      <environment name="FC" default="$G77_BASE/bin/gfortran"/>
79 >    </client>
80 >    <flags scram_compiler_name="gcc@COMPILER_VERSION@"/>
81 >    <flags fflags="-fno-second-underscore -Wunused -Wuninitialized -O2"/>
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 > osx104_ppc32_gcc40* | osx104_ia32_gcc40* | osx10[56]*_gcc42* )
91 > cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler.xml
92 >  <tool name="cxxcompiler" version="@GCC_VERSION@" type="compiler">
93 >    <client>
94 >      <environment name="GCC_BASE"  default="@GCC_ROOT@"/>
95 >      <environment name="GCCBINDIR" default="$GCC_BASE/bin"/>
96 >      <environment name="CXX"       value="$GCCBINDIR/c++"/>
97 >    </client>
98 >    <flags SCRAM_COMPILER_NAME="gcc40"/>
99 >    <flags CCcompiler="gcc40"/>
100 >    <flags MODULEFLAGS=" "/>
101 >    <flags CXXDEBUGFLAG="-g"/>
102 >    <flags CPPDEFINES="GNU_GCC"/>
103 >    <flags CPPDEFINES="_GNU_SOURCE"/>
104 >    <flags CXXSHAREDOBJECTFLAGS="-fPIC"/>
105 >    <flags CXXFLAGS="@OSXARCH@ -pedantic -ansi -pipe"/>
106 >    <flags CXXFLAGS="-O2"/>
107 >    <flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300"/>
108 >    <flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses"/>
109 >    <flags LDFLAGS=" "/>
110 >    <flags CXXSHAREDFLAGS="@OSXARCH@ -dynamiclib -single_module"/>
111 >    <flags SHAREDSUFFIX="dylib"/>
112 >    <flags SCRAM_LANGUAGE_TYPE="C++"/>
113 >    <runtime name="DYLD_LIBRARY_PATH" value="$GCC_BASE/lib" type="path"/>
114 >    <runtime name="PATH" value="$GCC_BASE/bin" type="path"/>
115 >  </tool>
116 > EOF_TOOLFILE
117 > osx10[56]*_gcc40* )
118 > cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler.xml
119 >  <tool name="cxxcompiler" version="@GCC_VERSION@" type="compiler">
120 >    <client>
121 >      <environment name="GCC_BASE"  default="@GCC_ROOT@"/>
122 >      <environment name="GCCBINDIR" default="$GCC_BASE/bin"/>
123 >      <environment name="CXX"       value="$GCCBINDIR/c++-4.0"/>
124 >    </client>
125 >    <flags SCRAM_COMPILER_NAME="gcc40"/>
126 >    <flags CCcompiler="gcc40"/>
127 >    <flags MODULEFLAGS=" "/>
128 >    <flags CXXDEBUGFLAG="-g"/>
129 >    <flags CPPDEFINES="GNU_GCC"/>
130 >    <flags CPPDEFINES="_GNU_SOURCE"/>
131 >    <flags CXXSHAREDOBJECTFLAGS="-fPIC"/>
132 >    <flags CXXFLAGS="@OSXARCH@ -pedantic -ansi -pipe"/>
133 >    <flags CXXFLAGS="-O2"/>
134 >    <flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300"/>
135 >    <flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses"/>
136 >    <flags LDFLAGS=" "/>
137 >    <flags CXXSHAREDFLAGS="@OSXARCH@ -dynamiclib -single_module"/>
138 >    <flags SHAREDSUFFIX="dylib"/>
139 >    <flags SCRAM_LANGUAGE_TYPE="C++"/>
140 >    <runtime name="DYLD_LIBRARY_PATH" value="$GCC_BASE/lib" type="path"/>
141 >    <runtime name="PATH" value="$GCC_BASE/bin" type="path"/>
142 >  </tool>
143   EOF_TOOLFILE
144   ;;
145   esac
146  
147 + # Specific substitutions to the templates above (default case needed?)
148 + case %cmsplatf in
149 +  slc5_ia32_gcc4* | slc5onl_ia32_gcc4* )
150 +    perl -p -i -e "s|\@LDOPT\@|-Wl,-E -Wl,--hash-style=gnu|g"   %i/etc/scram.d/cxxcompiler.xml
151 +    perl -p -i -e "s|\@GXXOPT\@|-O2|g"   %i/etc/scram.d/cxxcompiler.xml
152 +  ;;
153 +  slc5_amd64_gcc4* )
154 +    perl -p -i -e "s|\@LDOPT\@|-Wl,-E -Wl,--hash-style=gnu|g"   %i/etc/scram.d/cxxcompiler.xml
155 +    perl -p -i -e "s|\@GXXOPT\@|-O2 -ftree-vectorize|g"   %i/etc/scram.d/cxxcompiler.xml
156 +  ;;
157 +  osx*_ia32_gcc4* )
158 +    perl -p -i -e "s|\@OSXARCH\@|-arch i386|g"   %i/etc/scram.d/cxxcompiler.xml
159 +  ;;
160 +  osx*_amd64_gcc4* )
161 +    perl -p -i -e "s|\@OSXARCH\@|-arch x86_64|g"   %i/etc/scram.d/cxxcompiler.xml
162 +  ;;
163 +  osx*_ppc32_gcc4* )
164 +    perl -p -i -e "s|\@OSXARCH\@|-arch ppc|g"   %i/etc/scram.d/cxxcompiler.xml
165 +  ;;
166 + esac
167 +
168 + # General substitutions
169   perl -p -i -e "s|\@GCC_ROOT\@|$GCC_ROOT|g;
170                 s|\@GCC_VERSION\@|$GCC_VERSION|g;
171                 s|\@COMPILER_VERSION\@|$COMPILER_VERSION|g;
172                 s|\@COMPILER_VERSION_MAJOR\@|$COMPILER_VERSION_MAJOR|g;                                        
173 <                                        " %i/etc/scram.d/cxxcompiler \
174 <                                          %i/etc/scram.d/ccompiler  \
175 <                                          %i/etc/scram.d/f77compiler
173 >                                        " %i/etc/scram.d/cxxcompiler.xml \
174 >                                          %i/etc/scram.d/ccompiler.xml  \
175 >                                          %i/etc/scram.d/f77compiler.xml
176   %post
177 < %{relocateConfig}etc/scram.d/cxxcompiler
178 < %{relocateConfig}etc/scram.d/ccompiler
179 < %{relocateConfig}etc/scram.d/f77compiler
177 > %{relocateConfig}etc/scram.d/cxxcompiler.xml
178 > %{relocateConfig}etc/scram.d/ccompiler.xml
179 > %{relocateConfig}etc/scram.d/f77compiler.xml

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines