-%define SNAP 20020304
-%define DASHED_SNAP 2002-03-04
+%define DASHED_SNAP 2002-04-23
+%define SNAP %(echo %{DASHED_SNAP} | sed -e "s#-##g")
%define GCC_VERSION 3.1
-%define STDC_VERSION 3.1
+%define STDC_VERSION 4.0.0
+%define OBJC_VERSION 1.0.0
%define GCJ_VERSION 3.1
%define KSI_VERSION pre48
Summary: GNU Compiler Collection
Summary(pl): Kolekcja kompilatorów GNU
Name: gcc
Version: %{GCC_VERSION}
-Release: 0.%{SNAP}.1
+Release: 0.%{SNAP}.0
License: GPL
Group: Development/Languages
-Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/%{DASHED_SNAP}/%{name}-%{SNAP}.tar.bz2
+Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/%{DASHED_SNAP}/%{name}-%{GCC_VERSION}-%{SNAP}.tar.bz2
Source1: ftp://ftp.pld.org.pl/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
Patch0: %{name}-slibdir.patch
Patch1: %{name}-paths.patch
Patch2: %{name}-ada-no-addr2line.patch
Patch3: %{name}-ada-no-prefix.o.patch
+Patch4: %{name}-ppc-ada-hack.patch
BuildRequires: bison
BuildRequires: texinfo >= 4.1
BuildRequires: zlib-devel
BuildRequires: fileutils >= 4.0.41
BuildRequires: autoconf
-Requires: binutils >= 2.9.1.0.25
+BuildRequires: gcc
+BuildRequires: gcc-ada
+BuildRequires: perl-devel
+Requires: binutils >= 2.12.90.0.1
Requires: cpp = %{version}
URL: http://gcc.gnu.org/
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Group: Development/Languages
Obsoletes: egcc-objc
Obsoletes: egcs-objc
-Requires: libobjc = %{GCC_VERSION}
+Requires: libobjc = %{OBJC_VERSION}
Requires: gcc = %{GCC_VERSION}
%description objc
Summary: Objective C Libraries
Summary(pl): Biblioteki Obiektowego C
Group: Libraries
+Version: %{OBJC_VERSION}
+Epoch: 2
%description -n libobjc
Objective C Libraries
Summary: Static Objective C Libraries
Summary(pl): Statyczne Biblioteki Obiektowego C
Group: Development/Libraries
-Epoch: 2
-Requires: libobjc = %{GCC_VERSION}
+Version: %{OBJC_VERSION}
+Epoch: 3
+Requires: libobjc = %{OBJC_VERSION}
%description -n libobjc-static
Static Objective C Libraries
Summary: Fortran 77 support for gcc
Summary(pl): Wspomaganie Fortran 77 dla gcc
Group: Development/Languages
+Version: %{GCC_VERSION}
Obsoletes: egcs-g77
Requires: libg2c = %{GCC_VERSION}
Summary: Fortran 77 Libraries
Summary(pl): Biblioteki Fortranu 77
Group: Libraries
+Version: %{GCC_VERSION}
%description -n libg2c
Fortran 77 Libraries
Summary: Static Fortran 77 Libraries
Summary(pl): Statyczne Biblioteki Fortranu 77
Group: Development/Libraries
+Version: %{GCC_VERSION}
Epoch: 2
Requires: libg2c = %{GCC_VERSION}
%description -l pl -n libg2c-static
Statyczne Fortranu 77
-%package chill
-Summary: CHILL support for gcc
-Summary(pl): Wspomoganie CHILL dla gcc
-Group: Development/Languages
-Requires: %{name} = %{version}
-
-%description chill
-This package adds support for compiling CHILL programs with the GNU
-compiler.
-
-Chill is the "CCITT High-Level Language", where CCITT is the old name
-for what is now ITU, the International Telecommunications Union. It is
-is language in the Modula2 family, and targets many of the same
-applications as Ada (especially large embedded systems). Chill was
-never used much in the United States, but is still being used in
-Europe, Brazil, Korea, and other places.
-
%package java
Summary: Java support for gcc
Summary(pl): Wspomoganie Java dla gcc
Group: Development/Languages
+Version: %{GCC_VERSION}
Requires: %{name} = %{version}
Requires: libgcj >= 3.0.0
Group: Development/Libraries
Version: %{GCJ_VERSION}
Epoch: 2
-Requires: libstdc++-devel = %{GCJ_VERSION}
+Requires: libstdc++-devel = %{STDC_VERSION}
%description -n libgcj-static
Static Java Class Libraries
Summary: Shared gcc library
Summary(pl): Biblioteka gcc
Group: Libraries
-Version: %{version}
+Version: %{GCC_VERSION}
%description -n libgcc
Shared gcc library.
Summary: The C Pre Processor
Summary(pl): Preprocesor C
Group: Development/Languages
-Version: %{version}
+Version: %{GCC_VERSION}
Obsoletes: egcs-cpp
Obsoletes: gcc-cpp
Summary: Ada support for gcc
Summary(pl): Wsparcie dla Ady do gcc
Group: Development/Languages
+Version: %{GCC_VERSION}
Requires: libgnat = %{GCC_VERSION}
Requires: gcc = %{GCC_VERSION}
Obsoletes: gnat-devel
Summary: Ada standard libraries
Summary(pl): Biblioteki standardowe dla Ady
Group: Libraries
+Version: %{GCC_VERSION}
Obsoletes: gnat
%description -n libgnat
Summary: Static Ada standard libraries
Summary(pl): Statyczne biblioteki standardowe dla Ady
Group: Libraries
+Version: %{GCC_VERSION}
Obsoletes: gnat-static
%description -n libgnat
programów napisanych w Adzie.
%prep
-%setup -q -a1 -n %{name}-%{SNAP}
+%setup -q -a1 -n %{name}-%{GCC_VERSION}-%{SNAP}
mv ksi-%{KSI_VERSION} gcc/ksi
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%ifarch ppc
+%patch4 -p1
+%endif
%build
# cd gcc && autoconf; cd ..
# this dircty hack is relict of setting, where objdir is subdir of srcdir
sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
- obj-%{_target_platform}/gcc/ada/Makefile > makefile.tmp
-mv -f makefile.tmp obj-%{_target_platform}/gcc/ada/Makefile
+ gcc/ada/Makefile > makefile.tmp
+mv -f makefile.tmp gcc/ada/Makefile
cd ..
%{__make} -C obj-%{_target_platform} bootstrap-lean \
infodir=%{_infodir}
# make Gnat Reference Manual
-cd gcc/ada
-ln -s ../doc/include/fdl.texi gfdl.texi
-makeinfo gnat_rm.texi
-cd ../..
+%{__make} -C obj-%{_target_platform}/gcc/ada doc
%install
rm -rf $RPM_BUILD_ROOT
ln -s libgnat-*so libgnat.so && \
ln -s libgnarl-*so libgnarl.so)
-/$RPM_BUILD_ROOT%{_libdir}
ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
cd ..
%postun g77
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%post chill
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-
-%postun chill
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-
%post java
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
%{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
%{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
%{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
-#%ifnarch alpha
%attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
-#%endif
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
%attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
%files -n libobjc-static
+%defattr(644,root,root,755)
%{_libdir}/libobjc.a
%files g77
%{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
%files -n libg2c
+%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
%files -n libg2c-static
%{_libdir}/libg2c.a
%files ksi
-%doc gcc/ksi/*.gz gcc/ksi/t/*.gz
%defattr(644,root,root,755)
+%doc gcc/ksi/*.gz gcc/ksi/t/*.gz
%{_infodir}/ksi*
%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
%{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
%dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
+%ifnarch ppc
%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
+%endif
%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
%attr(755,root,root) %{_bindir}/gnat*
%{_infodir}/gnat*
-%{_libdir}/libgnat.so
-%{_libdir}/libgnarl.so
+%attr(755,root,root) %{_libdir}/libgnat.so
+%attr(755,root,root) %{_libdir}/libgnarl.so
%files -n libgnat-static
+%defattr(644,root,root,755)
%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
%files -n libgnat
-%{_libdir}/libgna*-*so
-
-%ifarch no_longer_supported_by_gcc_team
-%files chill
%defattr(644,root,root,755)
-%doc gcc/ch/chill.brochure.gz
-
-%attr(755,root,root) %{_bindir}/chill
-%{_infodir}/chill*
-%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
-%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
-%{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
-%endif
+%attr(755,root,root) %{_libdir}/libgna*-*so
%files java
%defattr(644,root,root,755)
%{_includedir}/gnu/*
%{_libdir}/lib*cj.spec
%{_libdir}/security/*
-%{_datadir}/libgcj.jar
+%doc %{_datadir}/java
+%{_datadir}/java/libgcj*.jar
%attr(755,root,root) %{_libdir}/lib*cj*.la
%attr(755,root,root) %{_libdir}/lib*cj*.so