36 |
|
export GCC_VERSION |
37 |
|
export G77_ROOT=$GCC_ROOT |
38 |
|
fi |
39 |
– |
|
39 |
|
export GCC_REALVERSION=`echo $GCC_VERSION | sed -e's|-.*||'` |
40 |
|
export COMPILER_VERSION=`echo $LLVM_VERSION` |
41 |
|
export COMPILER_VERSION_MAJOR=`echo $LLVM_VERSION | sed -e 's|\([0-9]\).*|\1|'` |
42 |
|
export COMPILER_VERSION_MINOR=`echo $LLVM_VERSION | sed -e 's|[0-9].\([0-9]\).*|\1|'` |
43 |
|
|
44 |
+ |
export GCC_ARCH=$(basename $(dirname `find $GCC_ROOT/include -mindepth 4 -maxdepth 4 -name bits`)) |
45 |
+ |
|
46 |
|
# Generic template for the toolfiles. |
47 |
|
# *** USE @VARIABLE@ plus associated environment variable to customize. *** |
48 |
|
# DO NOT DUPLICATE the toolfile template. |
62 |
|
<flags CPPDEFINES="_GNU_SOURCE"/> |
63 |
|
<flags CXXSHAREDOBJECTFLAGS="-fPIC"/> |
64 |
|
<flags CPPFLAGS="-I@GCC_ROOT@/include/c++/@GCC_REALVERSION@"/> |
65 |
< |
<flags CPPFLAGS="-I@GCC_ROOT@/include/c++/@GCC_REALVERSION@/i686-pc-linux-gnu"/> |
65 |
> |
<flags CPPFLAGS="-I@GCC_ROOT@/include/c++/@GCC_REALVERSION@/@GCC_ARCH@"/> |
66 |
> |
<flags CPPFLAGS="-I@GCC_ROOT@/include/c++/@GCC_REALVERSION@/backward"/> |
67 |
> |
<flags CXXFLAGS="-O2 -ansi -pthread -pipe"/> |
68 |
> |
<flags CXXFLAGS="@ARCH_CXXFLAGS@ @COMPILER_CXXFLAGS@"/> |
69 |
> |
<flags CXXFLAGS="-fmessage-length=0 -ftemplate-depth-300"/> |
70 |
> |
# -Wno-non-template-friend removed since it's not supported, yet, by llvm. |
71 |
> |
<flags CXXFLAGS="-Wall -Wno-long-long -Wreturn-type -Wunused -Wsign-compare -Wno-deprecated -Werror=return-type -Werror=missing-braces -Werror=unused-value -Werror=address -Werror=format -Werror=write-strings -Werror=strict-overflow -fdiagnostics-show-option"/> |
72 |
> |
<flags LDFLAGS="@OS_LDFLAGS@ -L@GCC_ROOT@/lib64"/> |
73 |
> |
<flags CXXSHAREDFLAGS="@OS_SHAREDFLAGS@ @ARCH_SHAREDFLAGS@"/> |
74 |
> |
<flags SHAREDSUFFIX="@OS_SHAREDSUFFIX@"/> |
75 |
> |
<flags LD_UNIT="@OS_LD_UNIT@ @ARCH_LD_UNIT@"/> |
76 |
> |
<flags SCRAM_LANGUAGE_TYPE="C++"/> |
77 |
> |
<runtime name="@OS_RUNTIME_LDPATH_NAME@" value="$CXXCOMPILER_BASE/lib" type="path"/> |
78 |
> |
<runtime name="PATH" value="$CXXCOMPILER_BASE/bin" type="path"/> |
79 |
> |
<runtime name="@OS_RUNTIME_LDPATH_NAME@" value="@GCC_ROOT@/@ARCH_LIB64DIR@" type="path"/> |
80 |
> |
<runtime name="@OS_RUNTIME_LDPATH_NAME@" value="@GCC_ROOT@/lib" type="path"/> |
81 |
> |
<runtime name="COMPILER_RUNTIME_OBJECTS" value="@GCC_ROOT@/lib/gcc/@GCC_ARCH@/@GCC_REALVERSION@"/> |
82 |
> |
<runtime name="PATH" value="@GCC_ROOT@/bin" type="path"/> |
83 |
> |
</tool> |
84 |
> |
EOF_TOOLFILE |
85 |
> |
|
86 |
> |
mkdir -p %i/etc/disabled/scram.d |
87 |
> |
cat << \EOF_TOOLFILE >%i/etc/disabled/scram.d/cxx-analyzer.xml |
88 |
> |
<tool name="cxxcompiler" version="@LLVM_VERSION@" type="compiler"> |
89 |
> |
<client> |
90 |
> |
<environment name="CXXCOMPILER_BASE" default="@LLVM_ROOT@"/> |
91 |
> |
<environment name="GCCBINDIR" default="$CXXCOMPILER_BASE/bin"/> |
92 |
> |
<environment name="CXX" value="$GCCBINDIR/c++-analyzer"/> |
93 |
> |
</client> |
94 |
> |
<flags SCRAM_COMPILER_NAME="clang@COMPILER_VERSION@"/> |
95 |
> |
<flags CCCOMPILER="clang@COMPILER_VERSION_MAJOR@"/> |
96 |
> |
<flags MODULEFLAGS="@OS_SHAREDFLAGS@ @ARCH_SHAREDFLAGS@"/> |
97 |
> |
<flags CXXDEBUGFLAG="-g"/> |
98 |
> |
<flags CPPDEFINES="GNU_GCC"/> |
99 |
> |
<flags CPPDEFINES="_GNU_SOURCE"/> |
100 |
> |
<flags CXXSHAREDOBJECTFLAGS="-fPIC"/> |
101 |
> |
<flags CPPFLAGS="-I@GCC_ROOT@/include/c++/@GCC_REALVERSION@"/> |
102 |
> |
<flags CPPFLAGS="-I@GCC_ROOT@/include/c++/@GCC_REALVERSION@/@GCC_ARCH@"/> |
103 |
|
<flags CPPFLAGS="-I@GCC_ROOT@/include/c++/@GCC_REALVERSION@/backward"/> |
104 |
< |
<flags CXXFLAGS="-O2 -pedantic -ansi -pthread -pipe"/> |
104 |
> |
<flags CXXFLAGS="-O2 -ansi -pthread -pipe"/> |
105 |
|
<flags CXXFLAGS="@ARCH_CXXFLAGS@ @COMPILER_CXXFLAGS@"/> |
106 |
< |
<flags CXXFLAGS="-felide-constructors -fmessage-length=0 -ftemplate-depth-300"/> |
107 |
< |
<flags CXXFLAGS="-Wunknown-warning-option -Wall -Wno-non-template-friend -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses -Wsign-compare -Wno-deprecated -Werror=return-type -Werror=missing-braces -Werror=unused-value -Werror=address -Werror=format -Werror=write-strings -Werror=strict-overflow -fdiagnostics-show-option"/> |
108 |
< |
<flags LDFLAGS="@OS_LDFLAGS@"/> |
106 |
> |
<flags CXXFLAGS="-fmessage-length=0 -ftemplate-depth-300"/> |
107 |
> |
# -Wno-non-template-friend removed since it's not supported, yet, by llvm. |
108 |
> |
<flags CXXFLAGS="-std=c++11 -Wall -Wno-long-long -Wreturn-type -Wunused -Wsign-compare -Wno-deprecated -Werror=return-type -Werror=missing-braces -Werror=unused-value -Werror=address -Werror=format -Werror=write-strings -Werror=strict-overflow -fdiagnostics-show-option"/> |
109 |
> |
<flags LDFLAGS="@OS_LDFLAGS@ -L@GCC_ROOT@/lib64"/> |
110 |
|
<flags CXXSHAREDFLAGS="@OS_SHAREDFLAGS@ @ARCH_SHAREDFLAGS@"/> |
111 |
|
<flags SHAREDSUFFIX="@OS_SHAREDSUFFIX@"/> |
112 |
|
<flags LD_UNIT="@OS_LD_UNIT@ @ARCH_LD_UNIT@"/> |
113 |
|
<flags SCRAM_LANGUAGE_TYPE="C++"/> |
75 |
– |
<runtime name="@OS_RUNTIME_LDPATH_NAME@" value="$CXXCOMPILER_BASE/@ARCH_LIB64DIR@" type="path"/> |
114 |
|
<runtime name="@OS_RUNTIME_LDPATH_NAME@" value="$CXXCOMPILER_BASE/lib" type="path"/> |
115 |
|
<runtime name="PATH" value="$CXXCOMPILER_BASE/bin" type="path"/> |
116 |
|
<runtime name="@OS_RUNTIME_LDPATH_NAME@" value="@GCC_ROOT@/@ARCH_LIB64DIR@" type="path"/> |
117 |
|
<runtime name="@OS_RUNTIME_LDPATH_NAME@" value="@GCC_ROOT@/lib" type="path"/> |
118 |
+ |
<runtime name="COMPILER_RUNTIME_OBJECTS" value="@GCC_ROOT@/lib/gcc/@GCC_ARCH@/@GCC_REALVERSION@"/> |
119 |
|
<runtime name="PATH" value="@GCC_ROOT@/bin" type="path"/> |
120 |
|
</tool> |
121 |
|
EOF_TOOLFILE |
131 |
|
<flags CSHAREDOBJECTFLAGS="-fPIC"/> |
132 |
|
<flags CFLAGS="-pthread"/> |
133 |
|
<flags CFLAGS="-O2"/> |
134 |
< |
<flags LDFLAGS="@OS_LDFLAGS@"/> |
134 |
> |
<flags LDFLAGS="@OS_LDFLAGS@ -L@GCC_ROOT@/lib64"/> |
135 |
|
<flags CSHAREDFLAGS="@OS_SHAREDFLAGS@ @ARCH_SHAREDFLAGS@"/> |
136 |
|
<flags SCRAM_COMPILER_NAME="clangc@COMPILER_VERSION@"/> |
137 |
|
<flags SCRAM_LANGUAGE_TYPE="C"/> |
224 |
|
COMPILER_CXXFLAGS= |
225 |
|
case %cmsplatf in |
226 |
|
*_gcc4[56789]* ) |
227 |
< |
COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS -std=c++0x -ftree-vectorize" |
227 |
> |
COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS" |
228 |
|
F77_MMD="-cpp -MMD" |
229 |
|
;; |
230 |
|
esac |
260 |
|
|
261 |
|
# General substitutions |
262 |
|
perl -p -i -e 's|\@([^@]*)\@|$ENV{$1}|g' %i/etc/scram.d/*.xml |
263 |
< |
|
263 |
> |
perl -p -i -e 's|\@([^@]*)\@|$ENV{$1}|g' %i/etc/disabled/scram.d/*.xml |
264 |
|
%post |
265 |
< |
[ "X$RPM_INSTALL_PREFIX" == "X$CMS_INSTALL_PREFIX" ] || perl -p -i -e "s|$RPM_INSTALL_PREFIX|$CMS_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/%{pkgrel}/etc/scram.d/*.xml |
265 |
> |
%{relocateConfig}etc/disabled/scram.d/cxx-analyzer.xml |
266 |
> |
%{relocateConfig}etc/scram.d/*.xml |
267 |
|
echo "LLVM_GCC_TOOLFILE_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'; export GCC_TOOLFILE_ROOT" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh |
268 |
|
echo "setenv LLVM_GCC_TOOLFILE_ROOT '$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh |