Summary: Cross PPC GNU binary utility development utilities - gcc
-Summary(es): Utilitarios para desarrollo de binarios de la GNU - PPC gcc
-Summary(fr): Utilitaires de développement binaire de GNU - PPC gcc
-Summary(pl): Skro¶ne narzêdzia programistyczne GNU dla PPC - gcc
-Summary(pt_BR): Utilitários para desenvolvimento de binários da GNU - PPC gcc
-Summary(tr): GNU geliþtirme araçlarý - PPC gcc
+Summary(es.UTF-8): Utilitarios para desarrollo de binarios de la GNU - PPC gcc
+Summary(fr.UTF-8): Utilitaires de développement binaire de GNU - PPC gcc
+Summary(pl.UTF-8): Skrośne narzędzia programistyczne GNU dla PPC - gcc
+Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - PPC gcc
+Summary(tr.UTF-8): GNU geliştirme araçları - PPC gcc
Name: crossppc-gcc
-Version: 3.3.3
-Release: 1
+Version: 4.3.2
+Release: 0.1
Epoch: 1
License: GPL
Group: Development/Languages
Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
-# Source0-md5: 3c6cfd9fcd180481063b4058cf6faff2
-Patch1: crossppc-gcc-3.3.3-include-fix.patch
+# Source0-md5: 5dfac5da961ecd5f227c3175859a486d
+Source1: gcc-optimize-la.pl
+Patch100: gcc-branch.diff.bz2
+Patch101: gcc-ix86-branch.diff.bz2
+Patch0: gcc-info.patch
+Patch1: gcc-nolocalefiles.patch
+Patch2: gcc-nodebug.patch
+Patch3: gcc-ada-link.patch
+Patch4: gcc-sparc64-ada_fix.patch
+
+Patch6: gcc-ppc64-m32-m64-multilib-only.patch
+Patch7: gcc-libjava-multilib.patch
+Patch8: gcc-enable-java-awt-qt.patch
+Patch9: gcc-hash-style-gnu.patch
+Patch10: gcc-moresparcs.patch
+
+URL: http://gcc.gnu.org/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: bison
BuildRequires: crossppc-binutils
+BuildRequires: fileutils >= 4.0.41
BuildRequires: flex
-BuildRequires: bison
-BuildRequires: autoconf
-BuildRequires: /bin/bash
+BuildRequires: gmp-devel >= 4.1
+BuildRequires: mpfr-devel >= 2.3.0
+BuildRequires: rpmbuild(macros) >= 1.211
+BuildRequires: texinfo >= 4.1
Requires: crossppc-binutils
+Requires: gcc-dirs
ExcludeArch: ppc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define cxx 0
%define target ppc-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}
+
+# used for crtbegin.o / crtend.o
+%if 0%{?debug:1}
+%define target_cflags %{debugcflags}
+%else
+%define target_cflags -O2 -fno-strict-aliasing -fwrapv -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc: %{specflags_ppc}}}
+%endif
+
-%define _noautostrip .*libgcc\\.a
+%define _noautostrip .*/libgc.*\\.a
%description
This package contains a cross-gcc which allows the creation of
-binaries to be run on PPC linux (architecture ppc-linux) on
-i386-machines.
+binaries to be run on PPC Linux on other machines.
-%description -l de
-Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
-i386-Rechner Code für ppc-Linux zu generieren.
+%description -l de.UTF-8
+Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
+anderem Rechner Code für PPC Linux zu generieren.
-%description -l pl
-Ten pakiet zawiera skro¶ny gcc pozwalaj±cy na robienie na maszynach
-i386 binariów do uruchamiania na PPC (architektura "ppc-linux").
+%description -l pl.UTF-8
+Ten pakiet zawiera skrośny gcc pozwalający na robienie na innych
+maszynach binariów do uruchamiania na Linuksie PPC.
+
+%package c++
+Summary: C++ support for crossppc-gcc
+Summary(pl.UTF-8): Obsługa C++ dla crossppc-gcc
+Group: Development/Languages
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description c++
+This package adds C++ support to the GNU Compiler Collection for PPC.
+
+%description c++ -l pl.UTF-8
+Ten pakiet dodaje obsługę C++ do kompilatora gcc dla PPC.
%prep
%setup -q -n gcc-%{version}
+%patch100 -p0
+%patch101 -p0
+%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+%patch6 -p1
+%patch7 -p0
+%if %{with qt}
+%patch8 -p1
+%endif
+%patch9 -p1
+%patch10 -p1
+
+mv ChangeLog ChangeLog.general
+
+# override snapshot version.
+echo %{version} > gcc/BASE-VER
+echo "release" > gcc/DEV-PHASE
%build
-rm -rf obj-%{target}
-install -d obj-%{target}
-cd obj-%{target}
+cd gcc
+%{__autoconf}
+cd ..
+cp -f /usr/share/automake/config.* .
+
+rm -rf builddir && install -d builddir && cd builddir
+CC="%{__cc}" \
CFLAGS="%{rpmcflags}" \
-CXXFLAGS="%{rpmcflags}" \
-TEXCONFIG=false ../configure \
+CXXFLAGS="%{rpmcxxflags}" \
+CFLAGS_FOR_TARGET="%{target_cflags}" \
+TEXCONFIG=false \
+../configure \
--prefix=%{_prefix} \
+ --with-local-prefix=%{_prefix}/local \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libdir} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
+ --bindir=%{_bindir} \
--disable-shared \
- --enable-haifa \
- --enable-languages="c" \
+ --disable-threads \
+ --without-headers \
+ --enable-languages="c,c++" \
+ --disable-libgomp \
+ --enable-c99 \
--enable-long-long \
- --enable-namespaces \
+ --disable-multilib \
+ --disable-nls \
+ --disable-werror \
--with-gnu-as \
--with-gnu-ld \
+ --with-demangler-in-ld \
--with-system-zlib \
- --with-multilib \
--without-x \
- --target=%{target}
-
-PATH=$PATH:/sbin:%{_sbindir}
-
-cd ..
-#LDFLAGS_FOR_TARGET="%{rpmldflags}"
-
-%{__make} -C obj-%{target}
+ --with-long-double-128 \
+ --enable-secureplt \
+ --with-gxx-include-dir=%{_includedir}/c++/%{version} \
+ --disable-libstdcxx-pch \
+ --enable-__cxa_atexit \
+ --enable-libstdcxx-allocator=new \
+ --with-pkgversion="PLD-Linux" \
+ --with-bugurl="http://bugs.pld-linux.org" \
+ --target=%{target} \
+ --host=%{_target_platform} \
+ --build=%{_target_platform}
+
+%{__make} all-gcc
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_bindir},%{gcclib}}
-
-cd obj-%{target}
-PATH=$PATH:/sbin:%{_sbindir}
-%{__make} -C gcc install \
- prefix=%{_prefix} \
- mandir=%{_mandir} \
- infodir=%{_infodir} \
- gxx_include_dir=$RPM_BUILD_ROOT%{arch}/include/g++ \
+%{__make} -C builddir install-gcc \
DESTDIR=$RPM_BUILD_ROOT
-# c++filt is provided by binutils
-#rm -f $RPM_BUILD_ROOT%{_bindir}/i386-mipsel-c++filt
+install builddir/gcc/specs $RPM_BUILD_ROOT%{gcclib}
-# 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
+gccdir=$RPM_BUILD_ROOT%{gcclib}
+cp $gccdir/install-tools/include/*.h $gccdir/include
+cp $gccdir/include-fixed/syslimits.h $gccdir/include
+rm -rf $gccdir/install-tools
+rm -rf $gccdir/include-fixed
-%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcc.a
+#%if 0%{!?debug:1}
+#%{target}-strip -g -R.note -R.comment $RPM_BUILD_ROOT%{gcclib}/libgcc.a
+#%{target}-strip -g -R.note -R.comment $RPM_BUILD_ROOT%{gcclib}/libgcov.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}-gccbug
+%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}/libgcc.a
-%{gcclib}/specs*
+#%{gcclib}/*crt*.o
+#%{gcclib}/libgcc.a
+%{gcclib}/specs
%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}-cpp.1*
%{_mandir}/man1/%{target}-gcc.1*
+%{_mandir}/man1/%{target}-gcov.1*
+
+%files c++
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/%{target}-g++
+%attr(755,root,root) %{gcclib}/cc1plus
+%{_mandir}/man1/%{target}-g++.1*