Summary(pt_BR): Utilitários para desenvolvimento de binários da GNU - PPC gcc
Summary(tr): GNU geliþtirme araçlarý - PPC gcc
Name: crossppc-gcc
-Version: 3.3.4
+Version: 3.4.3
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: a1c267b34f05c8660b24251865614d8b
+# Source0-md5: e744b30c834360fccac41eb7269a3011
+%define _llh_ver 2.6.9.1
+Source1: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-%{_llh_ver}.tar.bz2
+# Source1-md5: d3507b2c0203a0760a677022badcf455
+Source2: glibc-20041030.tar.bz2
+# Source2-md5: 4e14871efd881fbbf523a0ba16175bc7
+Patch0: %{name}-libc-sysdeps-configure.patch
+URL: http://gcc.gnu.org/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: bison
BuildRequires: crossppc-binutils
BuildRequires: flex
-BuildRequires: bison
-BuildRequires: autoconf
BuildRequires: /bin/bash
Requires: crossppc-binutils
Requires: gcc-dirs
%define target ppc-pld-linux
%define arch %{_prefix}/%{target}
-%define gccarch %{_libdir}/gcc-lib/%{target}
-%define gcclib %{_libdir}/gcc-lib/%{target}/%{version}
+%define gccarch %{_libdir}/gcc/%{target}
+%define gcclib %{gccarch}/%{version}
-%define _noautostrip .*%{gcclib}/libgcc\\.a
+%define _noautostrip .*%{gcclib}.*/libgc.*\\.a
%description
This package contains a cross-gcc which allows the creation of
Ten pakiet dodaje obs³ugê C++ do kompilatora gcc dla PPC.
%prep
-%setup -q -n gcc-%{version}
+%setup -q -n gcc-%{version} -a1 -a2
+%patch0 -p1
%build
+cp -f /usr/share/automake/config.sub .
+
+FAKE_ROOT=$PWD/fake-root
+
+rm -rf $FAKE_ROOT && install -d $FAKE_ROOT/usr/include
+cp -r linux-libc-headers-%{_llh_ver}/include/{asm-ppc,linux} $FAKE_ROOT/usr/include
+ln -s asm-ppc $FAKE_ROOT/usr/include/asm
+
+cd libc
+rm -rf builddir && install -d builddir && cd builddir
+../configure \
+ --prefix=$FAKE_ROOT/usr \
+ --build=%{_target_platform} \
+ --host=%{target} \
+ --disable-nls \
+ --enable-add-ons=linuxthreads \
+ --with-headers=$FAKE_ROOT/usr/include \
+ --disable-sanity-checks \
+ --enable-hacker-mode
+
+%{__make} sysdeps/gnu/errlist.c
+%{__make} install-headers
+
+install bits/stdio_lim.h $FAKE_ROOT/usr/include/bits
+touch $FAKE_ROOT/usr/include/gnu/stubs.h
+cd ../..
+
rm -rf obj-%{target}
install -d obj-%{target}
cd obj-%{target}
--libexecdir=%{_libdir} \
--disable-shared \
--enable-languages="c,c++" \
+ --enable-c99 \
+ --enable-long-long \
--with-gnu-as \
--with-gnu-ld \
--with-system-zlib \
--with-multilib \
- --without-headers \
- --with-newlib \
+ --with-sysroot=$FAKE_ROOT \
--without-x \
--target=%{target} \
--host=%{_target_platform} \
--build=%{_target_platform}
-%{__make} all-gcc \
- CC="%{__cc} -DHAVE_DESIGNATED_INITIALIZERS=0"
+%{__make} all-gcc
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} -C obj-%{target} install \
+%{__make} -C obj-%{target} install-gcc \
DESTDIR=$RPM_BUILD_ROOT
# don't want this here
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
%if 0%{!?debug:1}
+%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/nof/libgcc.a
+%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/nof/libgcov.a
%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcc.a
+%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcov.a
%endif
%clean
%dir %{gcclib}
%attr(755,root,root) %{gcclib}/cc1
%attr(755,root,root) %{gcclib}/collect2
+%dir %{gcclib}/nof
+%{gcclib}/nof/*crt*.o
+%{gcclib}/nof/libgcc.a
+%{gcclib}/*crt*.o
%{gcclib}/libgcc.a
%{gcclib}/specs*
%dir %{gcclib}/include
%{gcclib}/include/*.h
+%{_mandir}/man1/%{target}-cpp.1*
%{_mandir}/man1/%{target}-gcc.1*
%files c++
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/%{target}-g++
-%attr(755,root,root) %{_bindir}/%{target}-c++
%attr(755,root,root) %{gcclib}/cc1plus
+%{_mandir}/man1/%{target}-g++.1*