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.41 by elmer, Wed Nov 3 23:33:52 2010 UTC vs.
Revision 1.55 by fwyzard, Fri Jan 21 12:27:09 2011 UTC

# Line 15 | Line 15 | Requires: gfortran-macosx
15   %install
16   mkdir -p %i/etc/scram.d
17  
18 < # Determine the GCC_ROOT if "use system compiler is used.
18 > # Determine the GCC_ROOT if "use system compiler" is used.
19   if [ "X$GCC_ROOT" = X ]
20   then
21      export GCC_PATH=`which gcc` || exit 1
22      export GCC_ROOT=`echo $GCC_PATH | sed -e 's|/bin/gcc||'`
23      export GCC_VERSION=`gcc -v 2>&1 | grep "gcc version" | sed 's|[^0-9]*\([0-9].[0-9].[0-9]\).*|\1|'` || exit 1
24 + %if "%(echo %cmsos | grep osx >/dev/null && echo true)" == "true"
25      export G77_ROOT=$GFORTRAN_MACOSX_ROOT
26 + %else
27 +    export G77_ROOT=$GCC_ROOT
28 + %endif
29   else
30      export GCC_PATH
31      export GCC_ROOT
# Line 94 | Line 98 | cat << \EOF_TOOLFILE >%i/etc/scram.d/f77
98      <client>
99        <environment name="F77COMPILER_BASE" default="@G77_ROOT@"/>
100        <environment name="FC" default="$F77COMPILER_BASE/bin/gfortran"/>
101 <      @OS_FORTRAN_LIBDIR@
101 >      @ARCH_FORTRAN_LIBDIR@
102      </client>
103      <flags SCRAM_COMPILER_NAME="gcc@COMPILER_VERSION@"/>
104      <flags FFLAGS="-fno-second-underscore -Wunused -Wuninitialized -O2"/>
# Line 120 | Line 124 | case %cmsplatf in
124    osx* )
125      export OS_SHAREDFLAGS="-shared -dynamic -single_module"
126      export OS_SHAREDSUFFIX="dylib"
127 +    export OS_LDFLAGS="-Wl,-commons -Wl,use_dylibs"
128      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"/>'
129    ;;
130   esac
131  
# Line 132 | Line 136 | case %cmsplatf in
136      export ARCH_CXXFLAGS="-arch i386"
137      export ARCH_SHAREDFLAGS="-arch i386"
138      export ARCH_LIB64DIR="lib"
139 +    export ARCH_FORTRAN_LIBDIR='<environment name="LIBDIR" default="$F77COMPILER_BASE/lib/gcc/i686-apple-darwin10/4.2.1"/>'
140    ;;
141    osx*_amd64_* )
142      export ARCH_CXXFLAGS="-arch x86_64"
143      export ARCH_SHAREDFLAGS="-arch x86_64"
144      export ARCH_LIB64DIR="lib"
145 +    export ARCH_FORTRAN_LIBDIR='<environment name="LIBDIR" default="$F77COMPILER_BASE/lib/gcc/i686-apple-darwin10/4.2.1/x86_64"/>'
146    ;;
147    osx*_ppc32_* )
148      export ARCH_CXXFLAGS="-arch ppc"
# Line 166 | Line 172 | esac
172   # Then handle compiler specific options. E.g. enable
173   # optimizations as they become available in gcc.
174   COMPILER_CXXFLAGS=
175 + # The following is the default even if not set here
176 + F77_MMD="-MMD"
177   case %cmsplatf in
178     *_gcc4[56789]* )
179       COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS -std=c++0x -ftree-vectorize"
180 <     export COMPILER_CXXFLAGS
180 >     F77_MMD="-cpp -MMD"
181     ;;
182   esac
183 + export F77_MMD
184  
185   case %cmsplatf in
186     *_gcc4[3456789]* )
187 <     COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS -Werror=array-bounds -Werror=format-contains-nul"
179 <     export COMPILER_CXXFLAGS
187 >     COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS -Werror=array-bounds -Werror=format-contains-nul -Werror=type-limits"
188     ;;
189   esac
190  
191 + # Enable visibility inlines hidden. Should drastically remove
192 + # the amount of symbols due to templates.
193 + # FIXME: not enabled on linux, yet, change the case statement
194 + #        to *_gcc4[23456789]* when stable.
195 + case %cmsplatf in
196 +  osx* )
197 +    COMPILER_CXXFLAGS="$COMPILER_CXXFLAGS -fvisibility-inlines-hidden"
198 +  ;;
199 + esac
200 +
201 + export COMPILER_CXXFLAGS
202 +
203   # Handle here platform specific overrides. In case we
204   # want to tune something for a specific architecture.
205   case %cmsplatf in
# Line 195 | Line 215 | esac
215   perl -p -i -e 's|\@([^@]*)\@|$ENV{$1}|g' %i/etc/scram.d/*.xml
216  
217   %post
218 < [ "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
218 > %{relocateConfig}etc/scram.d/*.xml
219   echo "GCC_TOOLFILE_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'; export GCC_TOOLFILE_ROOT" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh
220   echo "setenv GCC_TOOLFILE_ROOT '$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines