%define STDC_VERSION 2.10.0
-%define GCJ_VERSION 2.95.1
+%define ver 2.95.3
Summary: GNU Compiler Collection
Summary(pl): Kolekcja kompilatorów GNU
Name: gcc
-Version: 2.95.2
-Release: 5
+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
-Source1: ftp://sourceware.cygnus.com/pub/java/libgcj-%{GCJ_VERSION}.tar.gz
-Source2: gcov.1
-Patch0: gcc-info.patch
-Patch1: gcc-libgcj-config.patch
-Patch2: gcc-pld-linux.patch
-Patch3: gcc-libstdc++.patch
-Patch4: gcc-bootstrap.patch
-Patch5: gcc-cpp-macro-doc.patch
-Patch6: gcc-default-arch.patch
-Patch7: gcc-cvs-updates.patch
-Patch8: gcc-alpha-ev5-fix.patch
-Patch9: gcc-libstdc++-out-of-mem.patch
-Patch10: gcc-libstdc++-valarray.patch
-Patch11: gcc-libstdc++-wstring.patch
-Patch12: gcc-libstdc++-wall3.patch
-Patch13: gcc-libstdc++-bastring.patch
-Patch14: gcc-manpage.patch
-Patch15: gcc-cpp-dos-newlines.patch
-Patch16: gcc-g++-is-tree.patch
-Patch17: gcc-gpc.patch
-Patch18: gcc-arm-config.patch
-Patch19: gcc-m68k-pic.patch
-Patch20: gcc-sparc32-rfi.patch
-Patch21: gcc-builtin-apply.patch
-Patch22: gcc-ppc-ice.patch
-Patch23: gcc-ppc-descriptions.patch
-Patch24: gcc-ppc-andrew-dwarf-eh.patch
+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
+Patch2: %{name}-libstdc++.patch
+Patch3: %{name}-bootstrap.patch
+Patch4: %{name}-cpp-macro-doc.patch
+Patch5: %{name}-default-arch.patch
+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}-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}
-Obsoletes: egcs
URL: http://gcc.gnu.org/
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
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: %{name}-libgcj = %{version}
+Requires: libgcj >= 2.95.1
%description java
This package adds experimental support for compiling Java(tm) programs
and bytecode into native code. To use this you will also need the
-gcc-libgcj package.
-
-%package libgcj
-Summary: Java runtime library for gcc
-Group: Libraries
-Group(fr): Librairies
-URL: http://sourceware.cygnus.com/java/
-Requires: zip >= 2.1
-
-%description libgcj
-The Java runtime library. You will need this package to compile your
-Java programs using the gcc Java compiler (gcj).
-
-%package libgcj-static
-Summary: Static java runtime library for gcc
-Group: Development/Libraries
-Group(fr): Development/Librairies
-URL: http://sourceware.cygnus.com/java/
-Requires: %{name}-libgcj = %{version}
-
-%description libgcj-static
-The static java runtime library. You will need this package to
-staticly compile your Java programs using the gcc Java compiler (gcj).
+libgcj package.
%package -n libstdc++
Summary: GNU c++ library
Summary(pl): Biblioteki GNU C++
Group: Libraries
+Group(de): Libraries
Group(fr): Librairies
Group(pl): Biblioteki
Version: %{STDC_VERSION}
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(de): Entwicklung/Libraries
Group(fr): Development/Librairies
Group(pl): Programowanie/Biblioteki
Version: %{STDC_VERSION}
Summary: Static c++ standard library
Summary(pl): Biblioeka statyczna c++
Group: Development/Libraries
+Group(de): Entwicklung/Libraries
Group(fr): Development/Librairies
Group(pl): Programowanie/Biblioteki
Version: %{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 -a1 -D -T
-mv libgcj-%{GCJ_VERSION} libgcj
-mv libgcj/boehm-gc libgcj/libjava libgcj/zlib libgcj/zip .
+%setup -q -n %{name}-%{ver}.test1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
+%patch4 -p0
%patch5 -p0
-%patch6 -p0
-%patch7 -p1
+#%patch6 -p1
+%patch7 -p0
%patch8 -p0
-%patch9 -p0
+#%patch9 -p0
%patch10 -p0
%patch11 -p0
%patch12 -p0
-%patch13 -p0
-%patch14 -p0
+%patch13 -p1
+#%ifarch arm
+#%patch14 -p0
+#%endif
+%ifarch m68k
%patch15 -p0
-%patch16 -p1
-%patch17 -p1
-%patch18 -p0
+%endif
+%ifarch sparc sparc32
+%patch16 -p0
+%patch17 -p0
+%patch18 -p1
+%endif
+%ifarch ppc
%patch19 -p0
%patch20 -p0
-%patch21 -p0
-%patch22 -p0
-%patch23 -p0
+#%patch21 -p0
+%endif
+%ifarch alpha
+%patch22 -p1
+%endif
+#%patch23 -p0
%patch24 -p0
+%patch25 -p0
+%patch26 -p0
+#%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
echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
-install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1/
+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
%postun -n cpp
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%post libgcj -p /sbin/ldconfig
-
%post -p /sbin/ldconfig -n libstdc++
%postun -p /sbin/ldconfig -n libstdc++
%attr(755,root,root) %{_bindir}/gcj
%attr(755,root,root) %{_bindir}/gcjh
%attr(755,root,root) %{_bindir}/jcf-dump
-%attr(755,root,root) %{_bindir}/jv-convert
%attr(755,root,root) %{_bindir}/jv-scan
-%{_libdir}/*.spec
-
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
-%files libgcj
-%defattr(644,root,root,755)
-
-%attr(755,root,root) %{_libdir}/lib*gcj*.so
-%attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
-
-%files libgcj-static
-%defattr(644,root,root,755)
-
-%{_libdir}/lib*gcj*.a
-%{_libdir}/lib*gcj*.la
-
%files -n libstdc++
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
%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