94 |
|
<client> |
95 |
|
<environment name="F77COMPILER_BASE" default="@G77_ROOT@"/> |
96 |
|
<environment name="FC" default="$F77COMPILER_BASE/bin/gfortran"/> |
97 |
< |
@OS_FORTRAN_LIBDIR@ |
97 |
> |
@ARCH_FORTRAN_LIBDIR@ |
98 |
|
</client> |
99 |
|
<flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@"/> |
100 |
|
<flags FFLAGS="-fno-second-underscore -Wunused -Wuninitialized -O2"/> |
120 |
|
osx* ) |
121 |
|
export OS_SHAREDFLAGS="-shared -dynamic -single_module" |
122 |
|
export OS_SHAREDSUFFIX="dylib" |
123 |
+ |
export OS_LDFLAGS="-Wl,-commons -Wl,use_dylibs" |
124 |
|
export OS_RUNTIME_LDPATH_NAME="DYLD_LIBRARY_PATH" |
124 |
– |
export OS_FORTRAN_LIBDIR='<environment name="LIBDIR" default="$F77COMPILER_BASE/lib/gcc/i686-apple-darwin10/4.2.1"/>' |
125 |
|
;; |
126 |
|
esac |
127 |
|
|
132 |
|
export ARCH_CXXFLAGS="-arch i386" |
133 |
|
export ARCH_SHAREDFLAGS="-arch i386" |
134 |
|
export ARCH_LIB64DIR="lib" |
135 |
+ |
export ARCH_FORTRAN_LIBDIR='<environment name="LIBDIR" default="$F77COMPILER_BASE/lib/gcc/i686-apple-darwin10/4.2.1"/>' |
136 |
|
;; |
137 |
|
osx*_amd64_* ) |
138 |
|
export ARCH_CXXFLAGS="-arch x86_64" |
139 |
|
export ARCH_SHAREDFLAGS="-arch x86_64" |
140 |
|
export ARCH_LIB64DIR="lib" |
141 |
+ |
export ARCH_FORTRAN_LIBDIR='<environment name="LIBDIR" default="$F77COMPILER_BASE/lib/gcc/i686-apple-darwin10/4.2.1/x86_64"/>' |
142 |
|
;; |
143 |
|
osx*_ppc32_* ) |
144 |
|
export ARCH_CXXFLAGS="-arch ppc" |
171 |
|
case %cmsplatf in |
172 |
|
*_gcc4[56789]* ) |
173 |
|
COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS -std=c++0x -ftree-vectorize" |
174 |
< |
export COMPILER_CXXFLAGS |
174 |
> |
F77_MMD="-cpp -MMD" |
175 |
|
;; |
176 |
|
esac |
177 |
|
|
178 |
|
case %cmsplatf in |
179 |
|
*_gcc4[3456789]* ) |
180 |
< |
COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS -Werror=array-bounds -Werror=format-contains-nul" |
179 |
< |
export COMPILER_CXXFLAGS |
180 |
> |
COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS -Werror=array-bounds -Werror=format-contains-nul -Werror=type-limits" |
181 |
|
;; |
182 |
|
esac |
183 |
|
|
184 |
+ |
# Enable visibility inlines hidden. Should drastically remove |
185 |
+ |
# the amount of symbols due to templates. |
186 |
+ |
# FIXME: not enabled on linux, yet, change the case statement |
187 |
+ |
# to *_gcc4[23456789]* when stable. |
188 |
+ |
case %cmsplatf in |
189 |
+ |
osx* ) |
190 |
+ |
COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS -fvisibility-inlines-hidden" |
191 |
+ |
;; |
192 |
+ |
esac |
193 |
+ |
|
194 |
+ |
export COMPILER_CXXFLAGS |
195 |
+ |
|
196 |
|
# Handle here platform specific overrides. In case we |
197 |
|
# want to tune something for a specific architecture. |
198 |
|
case %cmsplatf in |
208 |
|
perl -p -i -e 's|\@([^@]*)\@|$ENV{$1}|g' %i/etc/scram.d/*.xml |
209 |
|
|
210 |
|
%post |
211 |
< |
[ "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 |
211 |
> |
%{relocateConfig}etc/scram.d/*.xml |
212 |
|
echo "GCC_TOOLFILE_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'; export GCC_TOOLFILE_ROOT" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh |
213 |
|
echo "setenv GCC_TOOLFILE_ROOT '$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh |