%define STDC_VERSION 2.10.0
+%define ver 2.95.3
Summary: GNU Compiler Collection
Summary(pl): Kolekcja kompilatorów GNU
Name: gcc
-Version: 2.95.2
-Release: 8
+Version: %{ver}
+Release: 17
License: GPL
Group: Development/Languages
+Group(de): Entwicklung/Sprachen
Group(pl): Programowanie/Jêzyki
-Source0: ftp://ftp.gnu.org/pub/gnu/gcc/%{name}-%{version}.tar.gz
+Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}-prerelease/%{name}-%{version}.test1.tar.gz
Source1: gcov.1
Patch0: %{name}-info.patch
Patch1: %{name}-pld-linux.patch
Patch3: %{name}-bootstrap.patch
Patch4: %{name}-cpp-macro-doc.patch
Patch5: %{name}-default-arch.patch
-Patch6: %{name}-cvs-updates-20000220.patch.gz
+Patch6: %{name}-cvs-updates-20000826.patch.gz
Patch7: %{name}-libstdc++-out-of-mem.patch
Patch8: %{name}-libstdc++-wstring.patch
Patch9: %{name}-libstdc++-wall3.patch
Patch10: %{name}-libstdc++-bastring.patch
Patch11: %{name}-manpage.patch
Patch12: %{name}-cpp-dos-newlines.patch
-Patch13: %{name}-g++-is-tree.patch
-Patch14: %{name}-gpc.patch
-Patch15: %{name}-arm-config.patch
-Patch16: %{name}-m68k-pic.patch
-Patch17: %{name}-sparc32-rfi.patch
-Patch18: %{name}-builtin-apply.patch
-Patch19: %{name}-gcj-backport.patch
-Patch20: %{name}-ppc-ice.patch
-Patch21: %{name}-ppc-descriptions.patch
-Patch22: %{name}-ppc-andrew-dwarf-eh.patch
-
-Patch23: %{name}-alpha-complex-float.patch
-Patch24: %{name}-emit-rtl.patch
-Patch25: %{name}-empty-struct-init.patch
-Patch26: %{name}-gcj-vs-iconv.patch
-Patch27: %{name}-libobjc.patch
-Patch28: %{name}-pointer-arith.patch
-
-Patch100: %{name}-glibc-2.2.patch
+Patch13: %{name}-gpc.patch
+Patch14: %{name}-arm-config.patch
+Patch15: %{name}-m68k-pic.patch
+Patch16: %{name}-sparc32-rfi.patch
+Patch17: %{name}-builtin-apply.patch
+Patch18: %{name}-gcj-backport.patch
+Patch19: %{name}-ppc-ice.patch
+Patch20: %{name}-ppc-descriptions.patch
+Patch21: %{name}-ppc-andrew-dwarf-eh.patch
+
+Patch22: %{name}-alpha-complex-float.patch
+Patch23: %{name}-emit-rtl.patch
+Patch24: %{name}-gcj-vs-iconv.patch
+Patch25: %{name}-libobjc.patch
+Patch26: %{name}-pointer-arith.patch
+
+Patch27: %{name}-glibc-2.2.patch
+Patch28: %{name}-O2-bug.patch
+
+BuildRequires: bison
+BuildRequires: texinfo
Requires: binutils >= 2.9.1.0.25
Requires: cpp = %{version}
URL: http://gcc.gnu.org/
Summary(pl): Wspomaganie C++ dla kompilatora gcc
Summary(tr): gcc için C++ desteði
Group: Development/Languages
+Group(de): Entwicklung/Sprachen
Group(pl): Programowanie/Jêzyki
Obsoletes: egcc-c++
Obsoletes: egcs-c++
Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
Summary(tr): gcc için Objective C desteði
Group: Development/Languages
+Group(de): Entwicklung/Sprachen
Group(pl): Programowanie/Jêzyki
Obsoletes: egcc-objc
Obsoletes: egcs-objc
Summary: Fortran 77 support for gcc
Summary(pl): Wspomaganie Fortran 77 dla gcc
Group: Development/Languages
+Group(de): Entwicklung/Sprachen
Group(pl): Programowanie/Jêzyki
Obsoletes: egcs-g77
Summary: CHILL support for gcc
Summary(pl): Wspomoganie CHILL dla gcc
Group: Development/Languages
+Group(de): Entwicklung/Sprachen
Group(pl): Programowanie/Jêzyki
Requires: %{name} = %{version}
Summary: Java support for gcc
Summary(pl): Wspomoganie Java dla gcc
Group: Development/Languages
+Group(de): Entwicklung/Sprachen
Group(pl): Programowanie/Jêzyki
Requires: %{name} = %{version}
Requires: libgcj >= 2.95.1
Summary: GNU c++ library
Summary(pl): Biblioteki GNU C++
Group: Libraries
+Group(de): Libraries
+Group(fr): Librairies
Group(pl): Biblioteki
-Group(fr): Development/Librairies
Version: %{STDC_VERSION}
Obsoletes: libg++
Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++.
Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
Group: Development/Libraries
-Group(pl): Programowanie/Biblioteki
+Group(de): Entwicklung/Libraries
Group(fr): Development/Librairies
+Group(pl): Programowanie/Biblioteki
Version: %{STDC_VERSION}
Requires: libstdc++ = %{STDC_VERSION}
Requires: %{name}-c++
Summary: Static c++ standard library
Summary(pl): Biblioeka statyczna c++
Group: Development/Libraries
-Group(pl): Programowanie/Biblioteki
+Group(de): Entwicklung/Libraries
Group(fr): Development/Librairies
+Group(pl): Programowanie/Biblioteki
Version: %{STDC_VERSION}
Requires: libstdc++-devel = %{STDC_VERSION}
Summary: The C Pre Processor
Summary(pl): Preprocesor C
Group: Development/Languages
+Group(de): Entwicklung/Sprachen
Group(pl): Programowanie/Jêzyki
Obsoletes: egcs-cpp
odpowiada fragment pliku wynikowego.
%prep
-%setup -q
+%setup -q -n %{name}-%{ver}.test1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p0
%patch5 -p0
-%patch6 -p1
+#%patch6 -p1
%patch7 -p0
%patch8 -p0
-%patch9 -p0
+#%patch9 -p0
%patch10 -p0
%patch11 -p0
%patch12 -p0
%patch13 -p1
-%patch14 -p1
-%ifarch arm
-%patch15 -p0
-%endif
+#%ifarch arm
+#%patch14 -p0
+#%endif
%ifarch m68k
-%patch16 -p0
+%patch15 -p0
%endif
%ifarch sparc sparc32
+%patch16 -p0
%patch17 -p0
-%patch18 -p0
-%patch19 -p1
+%patch18 -p1
%endif
%ifarch ppc
+%patch19 -p0
%patch20 -p0
-%patch21 -p0
-%patch22 -p0
+#%patch21 -p0
%endif
%ifarch alpha
-%patch23 -p1
+%patch22 -p1
%endif
+#%patch23 -p0
%patch24 -p0
%patch25 -p0
%patch26 -p0
-%patch27 -p0
-%patch28 -p0
-#%patch100 -p1
+#%patch27 -p1
+#%patch28 -p1
%build
(cd gcc; autoconf)
rm -rf obj-%{_target_platform}
install -d obj-%{_target_platform} && cd obj-%{_target_platform}
-CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \
-../configure \
+CFLAGS="%{?debug:-O -g}%{!?debug:$RPM_OPT_FLAGS}" \
+CXXFLAGS="%{?debug:-O -g}%{!?debug:$RPM_OPT_FLAGS}" \
+TEXCONFIG=false ../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--enable-shared \
--with-gnu-as \
--with-gnu-ld \
--with-gxx-include-dir="\$\{prefix\}/include/g++" \
+ --disable-nls \
%{_target_platform}
PATH=$PATH:/sbin:%{_sbindir}
touch ../gcc/c-gperf.h
-%{__make} LDFLAGS_FOR_TARGET="-s" \
+cd ..
+%{__make} -C obj-%{_target_platform} bootstrap \
+ LDFLAGS_FOR_TARGET="%{!?debug:-s}" \
mandir=%{_mandir} \
infodir=%{_infodir}
mandir=$RPM_BUILD_ROOT%{_mandir} \
infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
-strip $RPM_BUILD_ROOT%{_bindir}/* || :
-
-strip $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/{cc1,cc1chill,cc1obj,cc1plus,cpp,f771,collect2,jc1,jvgenmain}
-strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so*
-
ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
install %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1/
ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
+(cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so))
+ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT%{_libdir}/cpp
-(cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
-
-install -d $RPM_BUILD_ROOT/lib
-(cd $RPM_BUILD_ROOT; \
-ln -sf ../`dirname usr/lib/gcc-lib/%{_target_cpu}*/*/cpp`/cpp $RPM_BUILD_ROOT/lib/cpp)
-
-gzip -9nf $RPM_BUILD_ROOT%{_datadir}/{info/*.info*,man/man1/*} \
- ../READ* ../ChangeLog ../gcc/ch/chill.brochure
+gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
%post
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
%files -n cpp
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/cpp
+%attr(755,root,root) %{_bindir}/cpp
+%attr(755,root,root) %{_libdir}/cpp
+%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
%{_mandir}/man1/cpp.1*
%{_mandir}/man1/cccp.1*
%{_infodir}/cpp.info*.gz
-
-%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp