]> git.pld-linux.org Git - packages/crossppc-gcc.git/blobdiff - crossppc-gcc.spec
- ready for Th.
[packages/crossppc-gcc.git] / crossppc-gcc.spec
index 967b31455d0ad276991f3e4baa7c4dc0322ccd77..74ca8159d70db6e715619b4e855e1466e0b5b54c 100644 (file)
@@ -5,28 +5,37 @@ Summary(pl):  Skro
 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.3
-Release:       1
+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: 3c6cfd9fcd180481063b4058cf6faff2
+# 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
 ExcludeArch:   ppc
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %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    .*libgcc\\.a
+%define                _noautostrip    .*%{gcclib}.*/libgc.*\\.a
 
 %description
 This package contains a cross-gcc which allows the creation of
@@ -41,10 +50,50 @@ anderem Rechner Code f
 Ten pakiet zawiera skro¶ny gcc pozwalaj±cy na robienie na innych
 maszynach binariów do uruchamiania na PPC (architektura "ppc-linux").
 
+%package c++
+Summary:       C++ support for crossppc-gcc
+Summary(pl):   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
+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}
@@ -61,44 +110,35 @@ TEXCONFIG=false \
        --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} \
-       CC="gcc -DHAVE_DESIGNATED_INITIALIZERS=0" all-gcc
+%{__make} all-gcc
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_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 obj-%{target} install-gcc \
        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}/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
 rm -rf $RPM_BUILD_ROOT
@@ -107,32 +147,23 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/%{target}-gcc
 %attr(755,root,root) %{_bindir}/%{target}-cpp
-%attr(755,root,root) %{_bindir}/%{target}-g++
-%attr(755,root,root) %{_bindir}/%{target}-c++
-#%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
 %dir %{gccarch}
 %dir %{gcclib}
 %attr(755,root,root) %{gcclib}/cc1
-%attr(755,root,root) %{gcclib}/cc1plus
-##%attr(755,root,root) %{gcclib}/tradcpp0
-##%attr(755,root,root) %{gcclib}/cpp0
 %attr(755,root,root) %{gcclib}/collect2
-#%%{gcclib}/SYSCALLS.c.X
+%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
-#%%{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*
+
+%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*
This page took 0.078277 seconds and 4 git commands to generate.