1 |
< |
### RPM external gcc 4.3.4 |
1 |
> |
### RPM external gcc 4.6.0 |
2 |
|
## INITENV +PATH LD_LIBRARY_PATH %i/lib/32 |
3 |
|
## INITENV +PATH LD_LIBRARY_PATH %i/lib64 |
4 |
< |
Source0: ftp://ftp.fu-berlin.de/unix/gnu/%n/%n-%realversion/%n-%realversion.tar.bz2 |
5 |
< |
# If gcc version >= 4.0.0, we need two additional sources, for gmp and mpfr. |
4 |
> |
%define realversion 4.6-20110429 |
5 |
> |
#Source0: ftp://ftp.fu-berlin.de/unix/gnu/%n/%n-%realversion/%n-%realversion.tar.bz2 |
6 |
> |
Source0: http://gcc.cybermirror.org/snapshots/%realversion/%n-%realversion.tar.bz2 |
7 |
> |
# For gcc version >= 4.0.0, a number of additional sources are needed. |
8 |
|
%define gmpVersion 4.3.2 |
9 |
|
%define mpfrVersion 2.4.2 |
10 |
|
%define mpcVersion 0.8.1 |
15 |
|
# For gcc 4.5+ we need the additional tools ppl and cloog. |
16 |
|
%define gcc_45plus %(echo %realversion | sed -e 's|4[.][5-9].*|true|') |
17 |
|
%if "%{gcc_45plus}" == "true" |
18 |
< |
%define pplVersion 0.10.2 |
19 |
< |
%define cloogpplVersion 0.15.9 |
20 |
< |
Source4: http://www.cs.unipr.it/ppl/Download/ftp/releases/0.10.2/ppl-%{pplVersion}.tar.bz2 |
21 |
< |
Source5: ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-ppl-%{cloogpplVersion}.tar.gz |
18 |
> |
%define pplVersion 0.11 |
19 |
> |
%define cloogVersion 0.16.1 |
20 |
> |
Source4: http://www.cs.unipr.it/ppl/Download/ftp/releases/%{pplVersion}/ppl-%{pplVersion}.tar.bz2 |
21 |
> |
Source5: ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-%{cloogVersion}.tar.gz |
22 |
|
%endif |
23 |
|
|
24 |
|
# On 64bit Scientific Linux build our own binutils. |
25 |
|
%define use_custom_binutils %(echo %cmsos | sed -e 's|slc[0-9]*_amd64|true|') |
26 |
|
%if "%use_custom_binutils" == "true" |
27 |
|
%define bisonVersion 2.4 |
26 |
– |
%define binutilsv 2.20.1 |
28 |
|
Source6: http://ftp.gnu.org/gnu/bison/bison-%{bisonVersion}.tar.bz2 |
29 |
< |
Source7: http://ftp.gnu.org/gnu/binutils/binutils-%binutilsv.tar.bz2 |
29 |
> |
%define binutilsv 2.21.51.0.8 |
30 |
> |
#Source7: http://ftp.gnu.org/gnu/binutils/binutils-%binutilsv.tar.bz2 |
31 |
> |
Source7: http://www.kernel.org/pub/linux/devel/binutils/binutils-%binutilsv.tar.bz2 |
32 |
|
%endif |
33 |
|
|
34 |
|
# gcc 4.5+ link time optimization support requires libelf to work. However |
110 |
|
# For gcc 4.5 and later we also need the following. |
111 |
|
%if "%gcc_45plus" == "true" |
112 |
|
%setup -D -T -b 4 -n ppl-%{pplVersion} |
113 |
< |
%setup -D -T -b 5 -n cloog-ppl-%{cloogpplVersion} |
113 |
> |
%setup -D -T -b 5 -n cloog-%{cloogVersion} |
114 |
|
%endif |
115 |
|
|
116 |
|
# These are required by rpm as well, but only on linux. |
134 |
|
# Whenever we build custom binutils we also enable the new linker "gold". |
135 |
|
# We do so only if we are using the new gcc 4.5+ |
136 |
|
if [ "X%use_custom_binutils:%gcc_45plus" = Xtrue:true ] ; then |
137 |
< |
CONF_BINUTILS_OPTS="--enable-gold" |
137 |
> |
CONF_BINUTILS_OPTS="--enable-gold --enable-lto --enable-plugins --enable-threads" |
138 |
|
fi |
139 |
|
|
140 |
|
USER_CXX=$CCOPTS |
160 |
|
make install |
161 |
|
export PATH=%i/tmp/bison/bin:$PATH |
162 |
|
cd ../binutils-%{binutilsv} |
163 |
+ |
# Try to avoid dependency on makeinfo. |
164 |
+ |
perl -p -i -e 's|SUBDIRS = .*|SUBDIRS =|' bfd/Makefile.in binutils/Makefile.in |
165 |
+ |
perl -p -i -e 's|all: info|all:|' etc/Makefile.in |
166 |
+ |
|
167 |
|
./configure --prefix=%i ${CONF_BINUTILS_OPTS} \ |
168 |
|
CC="gcc $CCOPTS" CFLAGS="-I%i/include" \ |
169 |
|
CXXFLAGS="-I%i/include" LDFLAGS="-L%i/lib" |
197 |
|
make %makeprocesses |
198 |
|
make install |
199 |
|
|
200 |
< |
cd ../cloog-ppl-%{cloogpplVersion} |
200 |
> |
cd ../cloog-%{cloogVersion} |
201 |
|
./configure --prefix=%i --with-ppl=%i --with-gmp=%i CC="gcc $CCOPTS" CXX="c++ $USER_CXX" |
202 |
|
make %makeprocesses |
203 |
|
make install |
204 |
|
|
205 |
< |
CONF_GCC_VERSION_OPTS="$CONF_GCC_VERSION_OPTS --with-ppl=%i --with-cloog=%i" |
205 |
> |
CONF_GCC_VERSION_OPTS="$CONF_GCC_VERSION_OPTS --with-ppl=%i --with-cloog=%i --enable-cloog-backend=isl" |
206 |
|
fi |
207 |
|
|
208 |
|
# Build the compilers |
211 |
|
cd obj |
212 |
|
export LD_LIBRARY_PATH=%i/lib64:%i/lib:$LD_LIBRARY_PATH |
213 |
|
../configure --prefix=%i \ |
214 |
+ |
--enable-gold=yes --enable-lto --with-build-config=bootstrap-lto \ |
215 |
|
--enable-languages=c,c++,fortran \ |
216 |
|
$CONF_GCC_VERSION_OPTS --enable-shared CC="gcc $CCOPTS" CXX="c++ $USER_CXX" |
217 |
|
|