ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/llvm-gcc-toolfile.spec
Revision: 1.13
Committed: Mon Dec 31 11:48:23 2012 UTC (12 years, 3 months ago) by eulisse
Branch: MAIN
CVS Tags: cmsbuild_20130311_1500-61X-osx107, cmsbuild_20130311_1424-61X-osx108-gcc472, cmsbuild_20130327-61X-slc6, cmsbuild_20130405_1715-61X-gcc472, eulisse_20130330_1130-62X-armv7hl-dev, eulisse_20130411_1456-62X-slc6-dev, eulisse_20130227_1854-62X-dev, eulisse_20130411_1120-62X, eulisse_20130411_1129-62X-next, CMSSW_6_2_0_pre5slc6, dmendezl_20130423_1116-62X-next, dmendezl_20130423_1154-62X-next, dmendezl_20130423_1129-62X-slc6-dev, dmendezl_20130423_1112-62X-next, dmendezl_20130423_1102-62X, ForCMSSW_6_2_0_pre5slc6-slc6_amd64_gcc472, dgmlForCMSSW_6_2_0_pre5slc6-osx107_amd64_gcc472, ForCMSSW_6_2_0_pre5slc6-slc6_amd64_gcc480, dgmlForCMSSW_6_2_0_pre5slc6-slc5_amd64_gcc472, dmendezl_20130422_1417-62X-next, dmendezl_20130422_1359-62X-next, dmendezl_20130418_1659-62X-next, dmendezl_20130418_1643-62X-next, dmendezl_20130418_1706-62X-slc6-dev, dmendezl_20130418_1710-62X, dmendezl_20130411_1456-62X-slc6-dev, dmendezl_20130411_1134-62X-next, dmendezl_20130411_1129-62X-next, dmendezl_20130411_1124-62X-next, dmendezl_20130411_1120-62X, CMSSW_6_2_0_pre5-osx108_amd64_gcc472, CMSSW_6_2_0_pre5-osx107_amd64_gcc472, CMSSW_6_2_0_pre5-slc6_amd64_gcc472, CMSSW_6_2_0_pre5-slc6_amd64_gcc480, dmendezlForCMSSW_6_1_2_SLHC1-slc5_amd64_gcc472, geForCMSSW_6_2_0_pre5-slc5_amd64_gcc472, davidltForCMSSW_6_2_0_pre5-slc6_amd64_gcc472, davidltForCMSSW_6_2_0_pre5-osx108_amd64_gcc472, davidltForCMSSW_6_2_0_pre5-slc6_amd64_gcc480, davidltForCMSSW_6_2_0_pre5-osx107_amd64_gcc472, CMSSW_6_1_2_SLHC1-slc5_amd64_gcc472, CMSSW_6_1_2_SLHC1, davidltForCMSSW_6_1_2_SLHC1-slc5_amd64_gcc472, CMSSW_6_2_0_pre5-slc5_amd64_gcc472, CMSSW_6_2_0_pre5, davidltForCMSSW_6_2_0_pre5-slc5_amd64_gcc472, davidlt_20130408_1108-62X-slc6-dev, davidlt_20130408_1239-62X-next, davidlt_20130408_1107-62X, eulisse_20130407_1388-62X, eulisse_20130407_1218-62X, ge20130406_2000-62X, davidlt_20130403_1140-62X-slc6-dev, davidlt_20130403_1144-62X-next, davidlt_20130403_1139-62X, sm130402-63X-slc5_mic, eulisseForCMSSW_6_1_2-slc6_amd64_gcc472, dmendezlForCMSSW_6_1_2-slc6_amd64_gcc472, davidlt_20130330_1130-62X-armv7hl-dev, davidlt_arm_6, davidlt_arm_5, davidlt_arm_4, davidlt_arm_3, davidlt_arm_2, davidlt_arm_1, davidlt_20130328_0732-62X-slc6-dev, davidlt_20130328_0731-62X-next, davidlt_20130328_0731-62X, dm20130327-61X-slc6, dgmlForCMSSW_6_1_2-osx107_amd64_gcc472, dgmlForCMSSW_6_1_2-osx108_amd64_gcc472, CMSSW_6_1_2, ForCMSSW_6_1_2-slc6_amd64_gcc472, davidlt_20130325_1139-62X-next, davidlt_20130325_1353-62X-next, davidlt_20130325_1132-62X-slc6-dev, davidlt_20130325_1131-62X-next, davidlt_20130325_1108-62X, dgmlForCMSSW_6_1_2-slc5_amd64_gcc472, CMSSW_6_2_0_pre4-slc6_amd64_gcc472, ForCMSSW_6_2_0_pre4-slc6_amd64_gcc472, CMSSW_6_2_0_pre4-osx107_amd64_gcc472, CMSSW_6_2_0_pre4-osx108_amd64_gcc472, CMSSW_6_2_0_pre4-slc6_amd64_gcc480, daForCMSSW_6_2_0_pre4-osx107_amd64_gcc472, daForCMSSW_6_2_0_pre4-osx108_amd64_gcc472, ForCMSSW_6_2_0_pre4-slc6_amd64_gcc480, davidlt_20130320_1840-62X-slc6-dev, BOOTSTRAP_slc6_amd64_gcc480, CMSSW_6_2_0_pre4-slc5_amd64_gcc472, CMSSW_6_2_0_pre4, daForCMSSW_6_2_0_pre4-slc5_amd64_gcc472, BOOTSTRAP_fc18_armv7hl_gcc480, pgForCMSSW_6_2_X_2013-03-15-0200-slc5_amd64_gcc472, davidlt_20130314_1540-62X-next, dmendezl_20130312_1520-slc6, dmendezl_20130311_1500-61X-osx107, dmendezl_20130311_1424-61X-osx108-gcc472, eulisse_20130311_0939-61X, geForCMSSW_6_1_2-slc5_amd64_gcc472, davidlt_20130307_0945-62X-next, davidlt_20130307_0943-62X, CMSSW_6_2_0_pre3-osx107_amd64_gcc472, CMSSW_6_2_0_pre3-osx108_amd64_gcc472, eulisse_20130405_1715-61X-gcc472, eulisse_20130304_1715-61X-osx107, eulisse_20130304_1715-61X-osx108-gcc472, eulisse_20130304_1714_61X-slc6, daForCMSSW_6_2_0_pre3-osx107_amd64_gcc472, daForCMSSW_6_2_0_pre3-osx108_amd64_gcc472, CMSSW_6_2_0_pre3-slc6_amd64_gcc472, ForCMSSW_6_2_0_pre3-slc6_amd64_gcc472, CMSSW_6_2_0_pre3-slc5_amd64_gcc472, CMSSW_6_2_0_pre3, CMSSW_6_1_1-osx108_amd64_gcc472, CMSSW_6_1_1-osx107_amd64_gcc472, daForCMSSW_6_2_0_pre3-slc5_amd64_gcc472, daForCMSSW_6_1_1-osx108_amd64_gcc472, daForCMSSW_6_1_1-osx107_amd64_gcc472, CMSSW_6_1_1_SLHCphase2tk1-slc5_amd64_gcc472, CMSSW_6_1_1_SLHCphase2tk1, daForCMSSW_6_1_1_SLHCphase2tk1-slc5_amd64_gcc472, davidlt_20130227_1855-62X-next, davidlt_20130227_1854-62X-dev, davidlt_20130227_1854-62X, davidlt_20130227_1127-62X-next, davidlt_20130227_1126-62X-dev, davidlt_20130227_1125-62X, davidlt_20130226_1240-62X-next, davidlt_20130226_1320-62X-dev, davidlt_20130226_1239-62X, CMSSW_6_1_1_SLHCphase1tk1-slc5_amd64_gcc472, CMSSW_6_1_1_SLHCphase1tk1, daForCMSSW_6_1_1_SLHCphase1tk1-slc5_amd64_gcc472, eulisse_20130225_1400-62x-next, eulisse_20130225_1400-62x, davidlt_20130225_1102-62X-next, davidlt_20130225_1025-62X-dev, davidlt_20130225_1025-62X, davidlt_20130222_1635-62X-next, davidlt_20130222_1634-62X-dev, davidlt_20130222_1633-62X, davidlt_20130220_1737-62X-next, davidlt_20130220_1736-62X-dev, davidlt_20130220_1735-62X, CMSSW_6_2_0_pre2-slc5_amd64_gcc480, daForCMSSW_6_2_0_pre2-osx107_amd64_gcc472, daForCMSSW_6_2_0_pre2-osx108_amd64_gcc472, ForCMSSW_6_2_0_pre2-slc6_amd64_gcc472, daForCMSSW_6_2_0_pre2-slc5_amd64_gcc480, CMS_CONDWEB_DEV, CMS_CONDWEB_0_2, CMSSW_6_2_0_pre2-slc5_amd64_gcc472, CMSSW_6_2_0_pre2, CMS_CONDWEB_0_1, daForCMSSW_6_2_0_pre2-slc5_amd64_gcc472, CMSSW_6_1_1-slc5_amd64_gcc472, CMSSW_6_1_1, daForCMSSW_6_1_1-slc5_amd64_gcc472, davidlt_20130213_0902-62X-dev, davidlt_20130212_1424-62X-next, davidlt_20130212_1424-62X, davidlt_20130212_1000-62X-dev, davidlt_20130212_1020-62X-next, davidlt_20130212_1001-62X, daForCMSSW_6_1_0_SLHC-slc5_amd64_gcc472, davidlt_20130209_1053-61X-osx107-gcc472, davidlt_20130209_1051-61X-osx108-gcc472, davidlt_20130209_1109-61X-slc6-gcc472, davidlt_20130208_1428-62X-next, davidlt_20130208_1427-62X, BOOTSTRAP_slc5_amd64_gcc480, davidlt_20130207_2033-61X-gcc472, davidlt_20130207_1856-62X, davidlt_20130206_2133-62X-next, davidlt_20130206_2129-62X-osx107-gcc472, davidlt_20130207_1345-62X-osx108-gcc472, davidlt_20130206_2133-62X-gcc472-next, davidlt_20130206_1149-62X-gcc472-next, davidlt_20130206_1149-62X, davidlt_20130206_0922-62X-gcc472-next, davidlt_20130206_0909-62X, davidlt_20130205_1942-62X-gcc472-next, davidlt_20130205_1939-62X, CMSSW_6_2_0_pre1, geForCMSSW_6_2_0_pre1-slc5_amd64_gcc472, eulisse_20130128_1430-62X-gcc472-next, eulisse_20130128_1430-62X-slc6-gcc472, eulisse_20130128_1430-62X, eulisse_20130128_1043-62X, davidlt_20130116_1043-62X, cms_adminFor-slc5_amd64_gcc472, eulisse_20130112_1105-62X, eulisse_20130112_0044-62X, eulisse_20130109_2108-62X-gcc472, eulisse_20121231_1245-61X-gcc472, HEAD
Changes since 1.12: +8 -0 lines
Error occurred while calculating annotation data.
Log Message:
Reduce warnings noise for clang builds.

File Contents

# Content
1 ### RPM cms llvm-gcc-toolfile 13.0
2
3 Requires: llvm
4 %if "%(echo %cmsos | grep osx >/dev/null && echo true)" == "true"
5 Requires: gfortran-macosx
6 %endif
7 Source: none
8
9 %prep
10 %build
11 %install
12 mkdir -p %i/etc/scram.d
13
14 # Determine the GCC_ROOT if "use system compiler is used. We still need this
15 # because we need to pick up libstdc++ from the gcc installation since clang
16 # does not ship its own and because clang does not provide a fortran compiler.
17 if [ "X$GCC_ROOT" = X ]
18 then
19 GCC_PATH=`which gcc` || exit 1
20 GCC_VERSION=`gcc -dumpversion` || exit 1
21 GCC_ROOT=`echo $GCC_PATH | sed -e 's|/bin/gcc||'`
22 G77_ROOT=$GFORTRAN_MACOSX_ROOT
23 else
24 G77_ROOT=$GCC_ROOT
25 fi
26 export LLVM_ROOT
27 export LLVM_VERSION
28 export GCC_ROOT
29 export G77_ROOT
30
31 mkdir -p %i/etc/scram.d
32 # Generic template for the toolfiles.
33 # *** USE @VARIABLE@ plus associated environment variable to customize. ***
34 # DO NOT DUPLICATE the toolfile template.
35
36 cat << \EOF_TOOLFILE >%i/etc/scram.d/llvm-cxxcompiler.xml
37 <tool name="llvm-cxxcompiler" version="@LLVM_VERSION@" type="compiler">
38 <use name="gcc-cxxcompiler"/>
39 <client>
40 <environment name="LLVM_CXXCOMPILER_BASE" default="@LLVM_ROOT@"/>
41 <environment name="CXX" value="$LLVM_CXXCOMPILER_BASE/bin/clang++"/>
42 </client>
43 # drop flags not supported by llvm
44 # -Wno-non-template-friend removed since it's not supported, yet, by llvm.
45 <flags REM_CXXFLAGS="-Wno-non-template-friend"/>
46 <flags REM_CXXFLAGS="-Werror=format-contains-nul"/>
47 <flags REM_CXXFLAGS="-Werror=maybe-uninitialized"/>
48 <flags REM_CXXFLAGS="-Werror=unused-but-set-variable"/>
49 <flags CXXFLAGS="-Wno-c99-extensions"/>
50 <flags CXXFLAGS="-Wno-c++11-narrowing"/>
51 <flags CXXFLAGS="-D__STRICT_ANSI__"/>
52 <flags CXXFLAGS="-Wno-unused-private-field"/>
53 <flags CXXFLAGS="-Wno-unknown-pragmas"/>
54 <flags CXXFLAGS="-Wno-unused-command-line-argument"/>
55 <runtime name="@OS_RUNTIME_LDPATH_NAME@" value="$LLVM_CXXCOMPILER_BASE/lib" type="path"/>
56 <runtime name="PATH" value="$LLVM_CXXCOMPILER_BASE/bin" type="path"/>
57 <runtime name="COMPILER_RUNTIME_OBJECTS" value="@GCC_ROOT@"/>
58 </tool>
59 EOF_TOOLFILE
60
61 cat << \EOF_TOOLFILE >%i/etc/scram.d/llvm-ccompiler.xml
62 <tool name="llvm-ccompiler" version="@LLVM_VERSION@" type="compiler">
63 <use name="gcc-ccompiler"/>
64 <client>
65 <environment name="LLVM_CCOMPILER_BASE" default="@LLVM_ROOT@"/>
66 <environment name="CC" value="$LLVM_CCOMPILER_BASE/bin/clang"/>
67 </client>
68 </tool>
69 EOF_TOOLFILE
70
71 cat << \EOF_TOOLFILE >%i/etc/scram.d/llvm-f77compiler.xml
72 <tool name="llvm-f77compiler" version="@LLVM_VERSION@" type="compiler">
73 <use name="gcc-f77compiler"/>
74 <client>
75 <environment name="FC" default="@G77_ROOT@/bin/gfortran"/>
76 </client>
77 </tool>
78 EOF_TOOLFILE
79
80 #Clang analyzer compilers
81 cat << \EOF_TOOLFILE >%i/etc/scram.d/llvm-analyzer-cxxcompiler.xml
82 <tool name="llvm-analyzer-cxxcompiler" version="@LLVM_VERSION@" type="compiler">
83 <use name="llvm-cxxcompiler"/>
84 <client>
85 <environment name="LLVM_ANALYZER_CXXCOMPILER_BASE" default="@LLVM_ROOT@"/>
86 <environment name="CXX" value="$LLVM_ANALYZER_CXXCOMPILER_BASE/bin/c++-analyzer"/>
87 </client>
88 <runtime name="COMPILER_RUNTIME_OBJECTS" value="@GCC_ROOT@"/>
89 </tool>
90 EOF_TOOLFILE
91
92 cat << \EOF_TOOLFILE >%i/etc/scram.d/llvm-analyzer-ccompiler.xml
93 <tool name="llvm-analyzer-ccompiler" version="@LLVM_VERSION@" type="compiler">
94 <use name="llvm-ccompiler"/>
95 <client>
96 <environment name="LLVM_ANALYZER_CCOMPILER_BASE" default="@LLVM_ROOT@"/>
97 <environment name="CC" value="$LLVM_ANALYZER_CCOMPILER_BASE/bin/ccc-analyzer"/>
98 </client>
99 </tool>
100 EOF_TOOLFILE
101
102 # This is a toolfile to use llvm / clang as a library, not as a compiler.
103 cat << \EOF_TOOLFILE >%i/etc/scram.d/llvm.xml
104 <tool name="llvm" version="@LLVM_VERSION@">
105 <lib name="clang"/>
106 <client>
107 <environment name="LLVM_BASE" default="@LLVM_ROOT@"/>
108 <environment name="LIBDIR" default="$LLVM_BASE/lib"/>
109 <environment name="INCLUDE" default="$LLVM_BASE/include"/>
110 </client>
111 <flags LDFLAGS="-Wl,-undefined -Wl,suppress"/>
112 <flags CXXFLAGS="-D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS"/>
113 <flags CXXFLAGS="-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 "/>
114 <flags CXXFLAGS="-fomit-frame-pointer -fPIC -Wno-enum-compare "/>
115 <flags CXXFLAGS="-Wno-strict-aliasing -fno-rtti"/>
116 </tool>
117 EOF_TOOLFILE
118
119 # NON-empty defaults
120 # First of all handle OS specific options.
121 OS_RUNTIME_LDPATH_NAME="LD_LIBRARY_PATH"
122 case %cmsplatf in
123 osx* ) OS_RUNTIME_LDPATH_NAME="DYLD_LIBRARY_PATH" ;;
124 esac
125 export OS_RUNTIME_LDPATH_NAME
126
127 # General substitutions
128 perl -p -i -e 's|\@([^@]*)\@|$ENV{$1}|g' %i/etc/scram.d/*.xml
129 %post
130 %{relocateConfig}etc/scram.d/*.xml
131 echo "LLVM_GCC_TOOLFILE_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'; export GCC_TOOLFILE_ROOT" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh
132 echo "setenv LLVM_GCC_TOOLFILE_ROOT '$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh