# _without_ada - build without ADA support
# _without_java - build without Java support
#
-%define DASHED_SNAP %{nil}
+%define DASHED_SNAP 20021111
%define SNAP %(echo %{DASHED_SNAP} | sed -e "s#-##g")
%define GCC_VERSION 3.2.1
%define KSI_VERSION pre55
+%define EPOCH 4
Summary: GNU Compiler Collection
Summary(pl): Kolekcja kompilatorów GNU
Name: gcc
Version: %{GCC_VERSION}
-Release: 0.1
+Release: 0.pre.2
+Epoch: %{EPOCH}
License: GPL
Group: Development/Languages
-Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-3.2.tar.bz2
+Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}-%{SNAP}.tar.bz2
Source1: ftp://ftp.pld.org.pl/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
+Source2: %{name}-non-english-man-pages.tar.bz2
Patch0: %{name}-slibdir.patch
Patch1: %{name}-paths.patch
Patch2: %{name}-ada-no-addr2line.patch
Patch3: %{name}-ada-no-prefix.o.patch
Patch4: %{name}-nolocalefiles.patch
-Patch5: %{name}-march-i686-fix.patch
-Patch6: %{name}-loop-ice.patch
-Patch7: %{name}-mmx-ice.patch
-Patch8: %{name}-mmx-sse-defines.patch
-Patch9: %{name}-athlon-move-costs.patch
+
+Patch6: %{name}-info.patch
# -- stolen patches from RH --
Patch10: gcc32-ada-link.patch
Patch11: gcc32-attr-visibility.patch
Patch17: gcc32-bogus-inline.patch
Patch18: gcc32-c++-nrv-test.patch
Patch19: gcc32-c++-pretty_function.patch
-# evil? introduced ICE at cp/cp-lang.c:130
-Patch20: gcc32-c++-tail-pad.patch
-Patch21: gcc32-c++-tail-pad2.patch
-Patch22: gcc32-c++-tsubst-asm.patch
-Patch23: gcc32-cfg-eh.patch
-Patch24: gcc32-debug-pr7241.patch
-Patch25: gcc32-doc-gcov.patch
-Patch26: gcc32-duplicate-decl.patch
-Patch27: gcc32-dwarf2-pr6381.patch
-Patch28: gcc32-dwarf2-pr6436-test.patch
-Patch29: gcc32-fde-merge-compat.patch
-Patch30: gcc32-fold-const-associate.patch
-Patch31: gcc32-fold-const2.patch
-Patch32: gcc32-hard-reg-sharing.patch
-Patch33: gcc32-hard-reg-sharing2.patch
-Patch34: gcc32-i386-default-momit-leaf-frame-pointer.patch
-Patch35: gcc32-i386-memtest-test.patch
-Patch36: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
-Patch37: gcc32-i386-pic-label-thunk.patch
-# included in gcc-mmx-sse-defines.patch
-#Patch38: gcc32-i386-pr7242.patch
-Patch39: gcc32-i386-profile-olfp.patch
-Patch40: gcc32-inline-label.patch
-Patch41: gcc32-java-no-rpath.patch
-Patch42: gcc32-loop-prefetch.patch
-Patch43: gcc32-pr6842.patch
-Patch44: gcc32-rh69989.patch
-Patch45: gcc32-sparc-sll1.patch
-Patch46: gcc32-test-rh65771.patch
-Patch47: gcc32-test-rotate.patch
-Patch48: gcc32-tls-dwarf2.patch
-Patch49: gcc32-tls.patch
-Patch50: gcc32-tls2.patch
-Patch51: gcc32-tls3.patch
-Patch52: gcc32-tls4.patch
-Patch53: gcc32-tls5.patch
-#Patch54: gcc32-tree-code.patch
-#Patch55: gcc32-trunc_int_for_mode.patch
-Patch56: gcc32-typeof-asm.patch
-Patch57: gcc32-typeof-skip-eval.patch
-
-Patch58: gcc32-locale_in_monetary_members.patch
-Patch59: gcc32-locale_in_ctype_members.patch
-Patch60: gcc32-locale_in_ctype_members_header.patch
-Patch61: gcc32-libstdc++-glibc.patch
-
-Patch100: gcc-pre-3.2.1.patch.gz
-
-
+Patch20: gcc32-c++-tsubst-asm.patch
+Patch21: gcc32-cfg-eh.patch
+Patch22: gcc32-debug-pr7241.patch
+
+Patch24: gcc32-duplicate-decl.patch
+Patch25: gcc32-dwarf2-pr6381.patch
+Patch26: gcc32-dwarf2-pr6436-test.patch
+Patch27: gcc32-fde-merge-compat.patch
+Patch28: gcc32-fold-const-associate.patch
+Patch29: gcc32-hard-reg-sharing.patch
+Patch30: gcc32-hard-reg-sharing2.patch
+Patch31: gcc32-i386-default-momit-leaf-frame-pointer.patch
+Patch32: gcc32-i386-memtest-test.patch
+Patch33: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
+Patch34: gcc32-i386-pic-label-thunk.patch
+Patch35: gcc32-i386-profile-olfp.patch
+Patch36: gcc32-inline-label.patch
+Patch37: gcc32-java-no-rpath.patch
+Patch38: gcc32-pr6842.patch
+Patch39: gcc32-sparc-sll1.patch
+Patch40: gcc32-test-rh65771.patch
+Patch41: gcc32-test-rotate.patch
+Patch42: gcc32-tls-dwarf2.patch
+Patch43: gcc32-tls.patch
+Patch44: gcc32-tls2.patch
+Patch45: gcc32-tls3.patch
+Patch46: gcc32-tls4.patch
+Patch47: gcc32-tls5.patch
+BuildRequires: autoconf
BuildRequires: bison
-BuildRequires: texinfo >= 4.1
-BuildRequires: zlib-devel
BuildRequires: fileutils >= 4.0.41
-BuildRequires: autoconf
BuildRequires: gcc
%{!?_without_ada:BuildRequires: gcc-ada}
+BuildRequires: glibc-devel >= 2.2.5-20
BuildRequires: perl-devel
+BuildRequires: texinfo >= 4.1
+BuildRequires: zlib-devel
+BuildRequires: gettext-devel
Requires: binutils >= 2.12.90.0.4
Requires: cpp = %{GCC_VERSION}
Requires: libgcc = %{GCC_VERSION}
Summary(pl): Biblioteki Obiektowego C
Group: Libraries
Version: %{GCC_VERSION}
-Epoch: 3
%description -n libobjc
Objective C Libraries.
Summary(pl): Statyczne Biblioteki Obiektowego C
Group: Development/Libraries
Version: %{GCC_VERSION}
-Epoch: 4
Requires: libobjc = %{GCC_VERSION}
%description -n libobjc-static
Summary(pl): Statyczne Biblioteki Fortranu 77
Group: Development/Libraries
Version: %{GCC_VERSION}
-Epoch: 2
Requires: libg2c = %{GCC_VERSION}
%description -n libg2c-static
Summary(pl): Biblioteki Klas Javy
Group: Libraries
Version: %{GCC_VERSION}
-Epoch: 2
Requires: zlib
%description -n libgcj
Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
Group: Development/Libraries
Version: %{GCC_VERSION}
-Epoch: 2
Requires: libgcj = %{GCC_VERSION}
Requires: %{name}-java
Summary(pl): Statyczne Biblioteki Klas Javy
Group: Development/Libraries
Version: %{GCC_VERSION}
-Epoch: 2
Requires: libstdc++-devel = %{GCC_VERSION}
Requires: libgcj-devel = %{GCC_VERSION}
Summary(pl): Biblioteki GNU C++
Group: Libraries
Version: %{GCC_VERSION}
-Epoch: 1
Obsoletes: libg++
%description -n libstdc++
Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
Group: Development/Libraries
Version: %{GCC_VERSION}
-Epoch: 1
Requires: libstdc++ = %{GCC_VERSION}
Requires: %{name}-c++
Obsoletes: libg++-devel
Summary(pl): Statyczna biblioteka standardowa C++
Group: Development/Libraries
Version: %{GCC_VERSION}
-Epoch: 1
Requires: libstdc++-devel = %{GCC_VERSION}
%description -n libstdc++-static
Version: %{GCC_VERSION}
Requires: libgnat = %{GCC_VERSION}
Requires: gcc = %{GCC_VERSION}
+Obsoletes: gcc-gnat
Obsoletes: gnat-devel
%description ada
odpowiada fragment pliku wynikowego.
%prep
-%setup -q -a1 -n %{name}-3.2
+%setup -q -a1 -n %{name}-%{GCC_VERSION}-%{SNAP}
mv ksi-%{KSI_VERSION} gcc/ksi
-%patch100 -p1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%ifarch %{ix86}
-%patch5 -p0
-%endif
-#%patch6 -p1
-%patch7 -p1
-#%patch8 -p1
-#%patch9 -p1
+
%patch10
%patch11
%patch12
%patch17
%patch18
%patch19
-#%patch20 # introduced ICE at cp/cp-lang.c:130
+%patch20
%patch21
%patch22
-%patch23
+
%patch24
%patch25
%patch26
%patch35
%patch36
%patch37
-#%patch38 # included in gcc-mmx-sse-defines.patch
+%patch38
%patch39
%patch40
%patch41
%patch42
-%patch43
+%patch43
%patch44
%patch45
-%patch46
-%patch47
-%patch48
-%patch49
-%patch50
-%patch51
-%patch52
-%patch53
-#%patch54
-#%patch55
-%patch56
-%patch57
-%patch58
-%patch59
-%patch60
-%patch61
+%patch46
+%patch47
+
+%patch6 -p1
%build
# cd gcc && autoconf; cd ..
ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
-(cd $RPM_BUILD_ROOT%{_libdir} ; LIBSTDC=$(ls libstdc++.so.*.*.*) ; \
- cd $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/ ; \
- ln -sf ../../../${LIBSTDC} libstdc++.so ; \
- ln -sf ../../../libstdc++.la libstdc++.la)
-
-mv $RPM_BUILD_ROOT%{_libdir}/libstdc++.a \
- $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/
-
-LIBSTDC=$(ls -d $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/* | sed -e "s#$RPM_BUILD_ROOT##g")
-mv $RPM_BUILD_ROOT%{_libdir}/libstdc++.la $RPM_BUILD_ROOT%{_libdir}/libstdc++.la.old
-sed -e "s#^libdir='/usr/lib'#libdir='$LIBSTDC'#g" $RPM_BUILD_ROOT%{_libdir}/libstdc++.la.old \
- > $RPM_BUILD_ROOT%{_libdir}/libstdc++.la
-
%if %{!?_without_ada:1}%{?_without_ada:0}
# move ada shared libraries to proper place...
mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so.1 \
cd ..
%if %{!?_without_ada:1}%{?_without_ada:0}
-install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
+install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
+install obj-%{_target_platform}/gcc/ada/gnat_ug_unx.info* $RPM_BUILD_ROOT%{_infodir}
%endif
%if %{!?_without_java:1}%{?_without_java:0}
cp -f libobjc/README gcc/objc/README.libobjc
%endif
+bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
+
%find_lang %{name}
%find_lang libstdc\+\+
%{_mandir}/man1/gcc.1*
%{_mandir}/man1/cc.1*
%{_mandir}/man1/gcov.1*
+%lang(fr) %{_mandir}/fr/man1/gcc.1*
+%lang(ja) %{_mandir}/ja/man1/gcc.1*
%{_infodir}/gcc*
%{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
%endif
%{_libdir}/libsupc++.a
%{_mandir}/man1/g++.1*
+%lang(es) %{_mandir}/es/man1/c++filt.1*
+%lang(ja) %{_mandir}/ja/man1/g++.1*
%files -n libstdc++ -f libstdc++.lang
%defattr(644,root,root,755)
%doc libstdc++-v3/docs/html
%dir %{_includedir}/c++
%{_includedir}/c++/%{GCC_VERSION}
-%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so
-%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.la
+%attr(755,root,root) %{_libdir}/libstdc++.so
%attr(755,root,root) %{_libdir}/libstdc++.la
%ifarch ppc
%attr(755,root,root) %{_libdir}/nof/libstdc++.so
%files -n libstdc++-static
%defattr(644,root,root,755)
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.a
+%{_libdir}/libstdc++.a
%ifarch ppc
%{_libdir}/nof/libstdc++.a
%endif
%attr(755,root,root) %{_libdir}/nof/libg2c.la
%attr(755,root,root) %{_libdir}/nof/libg2c.so
%endif
+%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
%{_mandir}/man1/g77.1*
%{_mandir}/man1/f77.1*
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
+%lang(ja) %{_mandir}/ja/man1/g77.1*
+%lang(ja) %{_mandir}/ja/man1/f77.1*
%files -n libg2c
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
%{_mandir}/man1/cpp.1*
+%lang(ja) %{_mandir}/ja/man1/cpp.1*
%{_infodir}/cpp*