]> git.pld-linux.org Git - packages/crossalpha-gcc.git/blobdiff - crossalpha-gcc.spec
- release 3
[packages/crossalpha-gcc.git] / crossalpha-gcc.spec
index 09505fd156da47b8bcbc29fc46f8404c59953320..9962c24aee7d0e6b39a2cb2d19252703d9997a11 100644 (file)
 Summary:       Cross ALPHA GNU binary utility development utilities - gcc
-Summary(es):   Utilitarios para desarrollo de binarios de la GNU - ALPHA gcc
-Summary(fr):   Utilitaires de développement binaire de GNU - ALPHA gcc
-Summary(pl):   Skro¶ne narzêdzia programistyczne GNU dla ALPHA - gcc
-Summary(pt_BR):        Utilitários para desenvolvimento de binários da GNU - ALPHA gcc
-Summary(tr):   GNU geliþtirme araçlarý - ALPHA gcc
+Summary(es.UTF-8):     Utilitarios para desarrollo de binarios de la GNU - ALPHA gcc
+Summary(fr.UTF-8):     Utilitaires de développement binaire de GNU - ALPHA gcc
+Summary(pl.UTF-8):     Skrośne narzędzia programistyczne GNU dla ALPHA - gcc
+Summary(pt_BR.UTF-8):  Utilitários para desenvolvimento de binários da GNU - ALPHA gcc
+Summary(tr.UTF-8):     GNU geliştirme araçları - ALPHA gcc
 Name:          crossalpha-gcc
-Version:       3.3.3
-Release:       2
+Version:       4.1.1
+Release:       3
 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: ad9f97a4d04982ccf4fd67cb464879f3
+%define                _llh_ver        2.6.12.0
+Source1:       http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-%{_llh_ver}.tar.bz2
+# Source1-md5: eae2f562afe224ad50f65a6acfb4252c
+%define                _glibc_ver      2.3.6
+Source2:        ftp://sources.redhat.com/pub/glibc/releases/glibc-%{_glibc_ver}.tar.bz2
+# Source2-md5: bfdce99f82d6dbcb64b7f11c05d6bc96
+Source3:        ftp://sources.redhat.com/pub/glibc/releases/glibc-linuxthreads-%{_glibc_ver}.tar.bz2
+# Source3-md5: d4eeda37472666a15cc1f407e9c987a9
+Patch0:                gcc-pr25672.patch
+URL:           http://gcc.gnu.org/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: bison
 BuildRequires: crossalpha-binutils
+BuildRequires: fileutils >= 4.0.41
 BuildRequires: flex
-BuildRequires: bison
-BuildRequires: autoconf
-BuildRequires: /bin/bash
+BuildRequires: texinfo >= 4.1
 Requires:      crossalpha-binutils
 Requires:      gcc-dirs
 ExcludeArch:   alpha
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                target          alpha-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    .*libgcc\\.a
+%define                _noautostrip    .*/libgc.*\\.a
 
 %description
 This package contains a cross-gcc which allows the creation of
-binaries to be run on ALPHA linux (architecture alpha-linux) on
-i386-machines.
+binaries to be run on ALPHA Linux on other machines.
+
+%description -l de.UTF-8
+Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
+anderem Rechner Code für ALPHA Linux zu generieren.
 
-%description -l de
-Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
-i386-Rechner Code für alpha-Linux zu generieren.
+%description -l pl.UTF-8
+Ten pakiet zawiera skrośny gcc pozwalający na robienie na innych
+maszynach binariów do uruchamiania na Linuksie ALPHA.
 
-%description -l pl
-Ten pakiet zawiera skro¶ny gcc pozwalaj±cy na robienie na maszynach
-i386 binariów do uruchamiania na ALPHA (architektura "alpha-linux").
+%package c++
+Summary:       C++ support for crossalpha-gcc
+Summary(pl.UTF-8):     Obsługa C++ dla crossalpha-gcc
+Group:         Development/Languages
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description c++
+This package adds C++ support to the GNU Compiler Collection for ALPHA.
+
+%description c++ -l pl.UTF-8
+Ten pakiet dodaje obsługę C++ do kompilatora gcc dla ALPHA.
 
 %prep
-%setup -q -n gcc-%{version}
+%setup -q -n gcc-%{version} -a1 -a2 -a3
+%patch0 -p1
+mv linuxthreads* glibc-%{_glibc_ver}
 
 %build
+FAKE_ROOT=$PWD/fake-root
+
+rm -rf $FAKE_ROOT && install -d $FAKE_ROOT/usr/include
+cp -r linux-libc-headers-%{_llh_ver}/include/{asm-alpha,linux} $FAKE_ROOT/usr/include
+ln -s asm-alpha $FAKE_ROOT/usr/include/asm
+
+cd glibc-%{_glibc_ver}
+cp -f /usr/share/automake/config.* scripts
+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 ../..
+
+cp -f /usr/share/automake/config.* .
 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,c++" \
+       --enable-c99 \
        --enable-long-long \
-       --enable-namespaces \
+       --disable-nls \
        --with-gnu-as \
        --with-gnu-ld \
+       --with-demangler-in-ld \
        --with-system-zlib \
-       --with-multilib \
-       --without-headers \
-       --with-newlib \
+       --disable-multilib \
+       --with-sysroot=$FAKE_ROOT \
        --without-x \
        --target=%{target} \
        --host=%{_target_platform} \
        --build=%{_target_platform}
 
-PATH=$PATH:/sbin:%{_sbindir}
-
-cd ..
-#LDFLAGS_FOR_TARGET="%{rpmldflags}"
-
-%{__make} -C obj-%{target}
-# CC="gcc -DHAVE_DESIGNATED_INITIALIZERS=0" all-gcc
+%{__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 obj-%{target} install-gcc \
        DESTDIR=$RPM_BUILD_ROOT
 
-# c++filt is provided by binutils
-#rm -f $RPM_BUILD_ROOT%{_bindir}/i386-mipsel-c++filt
+install obj-%{target}/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
-
-%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcc.a
+# include/ contains install-tools/include/* and headers that were fixed up
+# by fixincludes, we don't want former
+gccdir=$RPM_BUILD_ROOT%{gcclib}
+mkdir  $gccdir/tmp
+# we have to save these however
+mv -f  $gccdir/include/syslimits.h $gccdir/tmp
+rm -rf $gccdir/include
+mv -f  $gccdir/tmp $gccdir/include
+cp -f  $gccdir/install-tools/include/*.h $gccdir/include
+# but we don't want anything more from install-tools
+rm -rf $gccdir/install-tools
+
+%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
-%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
+%attr(755,root,root) %{_bindir}/%{target}-gcc
 %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
+%{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.163075 seconds and 4 git commands to generate.