+#
+# TODO:
+# - symlinks {lib64,ld-*}
+#
Summary: Cross SPARC64 GNU binary utility development utilities - gcc
Summary(es): Utilitarios para desarrollo de binarios de la GNU - SPARC64 gcc
Summary(fr): Utilitaires de développement binaire de GNU - SPARC64 gcc
Summary(pl): Skro¶ne narzêdzia programistyczne GNU dla SPARC64 - gcc
-Summary(pt_BR): Utilitários para desenvolvimento de binários da GNU - SPARC64 gcc
-Summary(tr): GNU geliþtirme araçlarý - SPARC64 gcc
+Summary(pt_BR): Utilitários para desenvolvimento de binários da GNU - SPARC64 gcc
+Summary(tr): GNU geliþtirme araçlarý - SPARC64 gcc
Name: crosssparc64-gcc
-Version: 3.3.3
-Release: 1
+Version: 3.4.2
+Release: 2
Epoch: 1
License: GPL
Group: Development/Languages
Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
-# Source0-md5: 3c6cfd9fcd180481063b4058cf6faff2
+# Source0-md5: 2fada3a3effd2fd791df09df1f1534b3
+Patch0: %{name}-pr17601.patch
BuildRequires: crosssparc64-binutils
BuildRequires: flex
BuildRequires: bison
-BuildRequires: autoconf
+BuildRequires: automake
BuildRequires: /bin/bash
Requires: crosssparc64-binutils
+Obsoletes: egcs64
+ExcludeArch: sparc64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define cxx 0
%define target sparc64-pld-linux
-%define _prefix /usr
%define arch %{_prefix}/%{target}
-%define gccarch %{_prefix}/lib/gcc-lib/%{target}
-%define gcclib %{_prefix}/lib/gcc-lib/%{target}/%{version}
+%define gccarch %{_libdir}/gcc/%{target}
+%define gcclib %{gccarch}/%{version}
+
+%define _noautostrip .*%{gcclib}.*/libgc.*\\.a
%description
This package contains a cross-gcc which allows the creation of
binaries to be run on SPARC64 linux (architecture sparc64-linux)
-on i386-machines.
+on other machines.
%description -l de
Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
-i386-Rechner Code für sparc64-Linux zu generieren.
+anderem Rechner Code für sparc64-Linux zu generieren.
%description -l pl
-Ten pakiet zawiera skro¶ny gcc pozwalaj±cy na robienie na maszynach
-i386 binariów do uruchamiania na SPARC64 (architektura
+Ten pakiet zawiera skro¶ny gcc pozwalaj±cy na robienie na innych
+maszynach binariów do uruchamiania na SPARC64 (architektura
"sparc64-linux").
%prep
%setup -q -n gcc-%{version}
+%patch0 -p0
%build
+cp -f /usr/share/automake/config.sub .
rm -rf obj-%{target}
install -d obj-%{target}
cd obj-%{target}
CFLAGS="%{rpmcflags}" \
CXXFLAGS="%{rpmcflags}" \
-TEXCONFIG=false ../configure \
+TEXCONFIG=false \
+../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
+ --bindir=%{_bindir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libdir} \
--disable-shared \
- --enable-haifa \
+ --disable-threads \
--enable-languages="c" \
- --enable-long-long \
- --enable-namespaces \
--with-gnu-as \
--with-gnu-ld \
--with-system-zlib \
--with-multilib \
+ --with-newlib \
+ --without-headers \
--without-x \
- --target=%{target}
-
-PATH=$PATH:/sbin:%{_sbindir}
+ --target=%{target} \
+ --host=%{_target_platform} \
+ --build=%{_target_platform}
-cd ..
-#LDFLAGS_FOR_TARGET="%{rpmldflags}"
-
-%{__make} -C obj-%{target}
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_bindir},/usr/lib/gcc-lib/sparc64-pld-linux/3.1/}
-cd obj-%{target}
-PATH=$PATH:/sbin:%{_sbindir}
-
-%{__make} -C gcc install \
- prefix=$RPM_BUILD_ROOT%{_prefix} \
- mandir=$RPM_BUILD_ROOT%{_mandir} \
- infodir=$RPM_BUILD_ROOT%{_infodir} \
- gxx_include_dir=$RPM_BUILD_ROOT%{arch}/include/g++ \
+%{__make} -C obj-%{target} install \
DESTDIR=$RPM_BUILD_ROOT
-# c++filt is provided by binutils
-#rm -f $RPM_BUILD_ROOT%{_bindir}/i386-mipsel-c++filt
-
-# what is this there for???
+# don't want this here
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
-# the same... make hardlink
-#ln -f $RPM_BUILD_ROOT%{arch}/bin/gcc $RPM_BUILD_ROOT%{_bindir}/%{target}-gcc
-
+%if 0%{!?debug:1}
%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcc.a
+%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcov.a
+%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/32/libgcc.a
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-gcc
%attr(755,root,root) %{_bindir}/%{target}-cpp
-#%dir %{arch}/bin
-#%attr(755,root,root) %{arch}/bin/cpp
-#%attr(755,root,root) %{arch}/bin/gcc
-#%attr(755,root,root) %{arch}/bin/gcov
-#%%{arch}/include/_G_config.h
+%attr(755,root,root) %{_bindir}/%{target}-gcc*
+%attr(755,root,root) %{_bindir}/%{target}-gcov
%dir %{gccarch}
%dir %{gcclib}
%attr(755,root,root) %{gcclib}/cc1
-%attr(755,root,root) %{gcclib}/tradcpp0
-%attr(755,root,root) %{gcclib}/cpp0
%attr(755,root,root) %{gcclib}/collect2
-#%%{gcclib}/SYSCALLS.c.X
+%{gcclib}/crt*.o
%{gcclib}/libgcc.a
%{gcclib}/specs*
+%dir %{gcclib}/32
+%{gcclib}/32/crt*.o
+%{gcclib}/32/libgcc.a
%dir %{gcclib}/include
%{gcclib}/include/*.h
-#%%{gcclib}/include/iso646.h
-#%%{gcclib}/include/limits.h
-#%%{gcclib}/include/proto.h
-#%%{gcclib}/include/stdarg.h
-#%%{gcclib}/include/stdbool.h
-#%%{gcclib}/include/stddef.h
-#%%{gcclib}/include/syslimits.h
-#%%{gcclib}/include/varargs.h
-#%%{gcclib}/include/va-*.h
%{_mandir}/man1/%{target}-gcc.1*