1 |
< |
### RPM cms gcc-toolfile 1.0 |
1 |
> |
### RPM cms gcc-toolfile 4.3.2 |
2 |
|
|
3 |
|
# gcc has a separate spec file for the generating a |
4 |
|
# toolfile because gcc.spec could be not build because of the |
14 |
|
then |
15 |
|
GCC_PATH=`which gcc` || exit 1 |
16 |
|
GCC_ROOT=`echo $GCC_PATH | sed -e 's|/bin/gcc||'` |
17 |
< |
GCC_VERSION=`gcc -v 2>&1 | grep "gcc version" | sed 's|.*\([0-9].[0-9].[0-9]\).*|\1|'` || exit 1 |
17 |
> |
GCC_VERSION=`gcc -v 2>&1 | grep "gcc version" | sed 's|[^0-9]*\([0-9].[0-9].[0-9]\).*|\1|'` || exit 1 |
18 |
|
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* ) |
24 |
> |
slc4_ia32_gcc4* | slc5_ia32_gcc4*) |
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> |
38 |
|
<Flags CPPDEFINES="_GNU_SOURCE"> |
39 |
|
<Flags CXXSHAREDOBJECTFLAGS="-fPIC"> |
40 |
|
<Flags CXXFLAGS="-pedantic -ansi -pthread -pipe"> |
41 |
< |
<Flags CXXFLAGS="-O2"> |
41 |
> |
<Flags CXXFLAGS="-O2 -fvisibility-inlines-hidden"> |
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"> |
43 |
> |
<Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses -Werror=array-bounds -Wno-deprecated"> |
44 |
|
<Flags LDFLAGS="-Wl,-E"> |
45 |
|
<Flags CXXSHAREDFLAGS="-Wl,-E"> |
46 |
|
<Flags SHAREDSUFFIX="so"> |
86 |
|
</tool> |
87 |
|
EOF_TOOLFILE |
88 |
|
;; |
89 |
< |
slc4_amd64_* ) |
89 |
> |
slc4_amd64_gcc4* | slc5_amd64_gcc4* ) |
90 |
|
cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler |
91 |
|
<doc type=BuildSystem::ToolDoc version=1.1> |
92 |
|
<tool name=cxxcompiler version=@GCC_VERSION@ type=compiler> |
105 |
|
<Flags CXXFLAGS="-pedantic -ansi -pthread -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"> |
108 |
> |
<Flags CXXFLAGS="-Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses -Werror=array-bounds -Wno-deprecated"> |
109 |
|
<Flags LDFLAGS="-Wl,-E"> |
110 |
|
<Flags CXXSHAREDFLAGS="-Wl,-E"> |
111 |
|
<Flags SHAREDSUFFIX="so"> |
135 |
|
cat << \EOF_TOOLFILE >%i/etc/scram.d/f77compiler |
136 |
|
<doc type=BuildSystem::ToolDoc version=1.1> |
137 |
|
<tool name=f77compiler version=@GCC_VERSION@ type=compiler> |
138 |
< |
<lib name=g2c> |
138 |
> |
<lib name=gfortran> |
139 |
|
<lib name=m> |
140 |
|
<client> |
141 |
|
<Environment name=G77_BASE default="@GCC_ROOT@"></Environment> |
142 |
< |
<Environment name=FC default="$G77_BASE/bin/g77"></Environment> |
142 |
> |
<Environment name=FC default="$G77_BASE/bin/gfortran"></Environment> |
143 |
|
</client> |
144 |
|
<Flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@"> |
145 |
< |
<Flags FFLAGS="-fno-second-underscore -Wno-globals -Wunused -Wuninitialized"> |
145 |
> |
<Flags FFLAGS="-fno-second-underscore -Wunused -Wuninitialized"> |
146 |
|
<Flags FCO2Flag="-O2"> |
147 |
|
<Flags FCOPTIMISED="-O2"> |
148 |
|
<Flags FCDEBUGFLAG="-g"> |
151 |
|
</tool> |
152 |
|
EOF_TOOLFILE |
153 |
|
;; |
154 |
< |
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 |
< |
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 |
< |
osx105* ) |
154 |
> |
osx104_ppc32_gcc40* | osx104_ia32_gcc40* | osx105* ) |
155 |
|
cat << \EOF_TOOLFILE >%i/etc/scram.d/cxxcompiler |
156 |
|
<doc type=BuildSystem::ToolDoc version=1.1> |
157 |
|
<tool name=cxxcompiler version=@GCC_VERSION@ type=compiler> |