]> git.pld-linux.org Git - packages/gcc.git/blobdiff - gcc.spec
- rel .3
[packages/gcc.git] / gcc.spec
index 86492eb14c7ad8f111fa5f469e66b1570f15e7be..b2063febecd6a04c74d22509dcc6ff2bdf7dfbf0 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -6,16 +6,11 @@
 %bcond_without java            # build without Java support
 %bcond_without objc            # build without Objective-C support
 %bcond_without objcxx          # build without Objective-C++ support
-%bcond_with    multilib        # build with multilib support (it needs glibc[32&64]-devel)
+%bcond_without multilib        # build without multilib support (it needs glibc[32&64]-devel)
 %bcond_with    profiling       # build with profiling
 %bcond_without bootstrap       # omit 3-stage bootstrap
 %bcond_with    tests           # torture gcc
 
-%if %{with multilib}
-# the latest chrpath(64) can't handle 32-bit binaries :/
-%define                _noautochrpath  .*/lib/.*\\.so.*
-%endif
-
 %if %{without cxx}
 %undefine      with_java
 %undefine      with_objcxx
@@ -38,16 +33,19 @@ Summary(es):        Colecci
 Summary(pl):   Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
 Summary(pt_BR):        Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
 Name:          gcc
-Version:       4.1.0
-%define                _snap   20060211r110872
-Release:       0.%{_snap}.0.1
+Version:       4.1.2
+%define                _snap   20061201r119386
+#define                _snap   20060517
+Release:       0.%{_snap}.3
+#Release:      1
 Epoch:         5
 License:       GPL v2+
 Group:         Development/Languages
+#Source0:      ftp://gcc.gnu.org/pub/gcc/prerelease-%{version}-%{_snap}/gcc-%{version}-%{_snap}.tar.bz2
 #Source0:      ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
 #Source0:      ftp://gcc.gnu.org/pub/gcc/snapshots/4.1-%{_snap}/gcc-4.1-%{_snap}.tar.bz2
 Source0:       gcc-4.1-%{_snap}.tar.bz2
-# Source0-md5: 405c51f710957c7423185a821731d756
+# Source0-md5: 7c6dda88021bab6be2abfcfce2577592
 Source1:       %{name}-optimize-la.pl
 Patch0:                %{name}-info.patch
 Patch1:                %{name}-nolocalefiles.patch
@@ -62,28 +60,38 @@ Patch8:             %{name}-pr20218.patch
 
 # PRs
 Patch10:       %{name}-pr7776.patch
-Patch11:       %{name}-pr20297.patch
-Patch12:       %{name}-pr19606.patch
-Patch13:       %{name}-pr24879.patch
-#Patch14:      %{name}-x87-mmx-switch.patch    NEEDS UPDATE
-#Patch15:      %{name}-x87-mmx-eh.patch        NEEDS UPDATE
+Patch11:       %{name}-pr19606.patch
+Patch12:       %{name}-pr24879.patch
+Patch13:       %{name}-pr29512.patch
+Patch14:       %{name}-pr28281.patch
+Patch15:       %{name}-unwind-through-signal-frames.patch
 
-Patch17:       %{name}-pr19505.patch
 Patch18:       %{name}-pr24419.patch
 Patch19:       %{name}-pr24669.patch
 Patch20:       %{name}-pr17390.patch
+Patch21:       %{name}-pr13676.patch
+Patch22:       %{name}-pr25626.patch
+Patch23:       %{name}-libstdcxx-bitset.patch
 
-Patch22:       %{name}-pr13676.patch
+Patch25:       %{name}-libjava-multilib.patch
+Patch26:       %{name}-ppc64-m32-m64-multilib-only.patch
+Patch27:       %{name}-enable-java-awt-qt.patch
 
 # 128-bit long double support for glibc 2.4
 Patch30:       %{name}-ldbl-default-libstdc++.patch
 Patch31:       %{name}-ldbl-default.patch
+
+# Needed too bootstrap with gcc 4.2
+Patch40:       %{name}-ada.patch
+
 URL:           http://gcc.gnu.org/
 BuildRequires: autoconf
 %{?with_tests:BuildRequires:   autogen}
 BuildRequires: automake
-BuildRequires: binutils >= 2:2.15.94.0.1
+# binutils 2.16.91 or newer are required for compiling medium model now
+BuildRequires: binutils >= 2:2.16.91.0.1
 BuildRequires: bison
+BuildRequires: chrpath >= 0.13-2
 %{?with_tests:BuildRequires:   dejagnu}
 BuildRequires: fileutils >= 4.0.41
 BuildRequires: flex
@@ -92,8 +100,8 @@ BuildRequires:       gcc(ada)
 BuildRequires: gcc-ada
 %endif
 BuildRequires: gettext-devel
+BuildRequires: glibc-devel >= 6:2.4-1
 %if %{with multilib}
-BuildRequires: glibc-devel >= 6:2.3.4-1.5
 %ifarch %{x8664}
 BuildRequires: glibc-devel(i686)
 %endif
@@ -106,18 +114,17 @@ BuildRequires:    glibc-devel(s390)
 %ifarch sparc64
 BuildRequires: glibc-devel(sparc)
 %endif
-%else
-BuildRequires: glibc-devel >= 2.2.5-20
 %endif
-BuildRequires: perl-devel
+BuildRequires: perl-base
 BuildRequires: rpmbuild(macros) >= 1.211
 BuildRequires: texinfo >= 4.1
 BuildRequires: zlib-devel
 %if %{with fortran}
 BuildRequires: gmp-devel
-BuildRequires: libmpfr-devel
+BuildRequires: mpfr-devel
 %endif
 %if %{with java}
+BuildRequires: QtGui-devel >= 4.0.1
 BuildRequires: alsa-lib-devel
 BuildRequires: cairo-devel >= 0.5.0
 BuildRequires: dssi
@@ -126,8 +133,10 @@ BuildRequires:     gtk+2-devel >= 2:2.4.0
 BuildRequires: libart_lgpl-devel >= 2.1
 BuildRequires: libxslt-devel
 BuildRequires: pango-devel
+BuildRequires: perl-tools-pod
 BuildRequires: pkgconfig
-#BR: X-lib-libXtst-devel
+BuildRequires: qt4-build
+BuildRequires: xorg-lib-libXtst-devel
 %endif
 # AS_NEEDED directive for dynamic linker
 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
@@ -753,6 +762,7 @@ Statyczne biblioteki Obiektowego C.
 
 %prep
 #setup -q -n gcc-%{version}
+#setup -q -n gcc-%{version}-%{_snap}
 %setup -q -n gcc-4_1-branch
 
 %patch0 -p1
@@ -769,27 +779,33 @@ Statyczne biblioteki Obiektowego C.
 
 # PRs
 %patch10 -p1
-%patch11 -p1
+%patch11 -p0
 %patch12 -p0
-%patch13 -p0
+%patch13 -p1
 
-%ifarch %{ix86} %{x8664}
-#patch14 -p1
-#patch15 -p1
+%ifarch %{x8664}
+%patch14 -p1
 %endif
+%patch15 -p0
 
-%patch17 -p1
 %patch18 -p1
 %patch19 -p1
 %patch20 -p1
-
+%patch21 -p1
 %patch22 -p1
+%patch23 -p1
+
+%patch25 -p1
+%patch26 -p1
+%patch27 -p1
 
 %patch30 -p0
 %patch31 -p0
 
+%patch40 -p1
+
 # because we distribute modified version of gcc...
-perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
+sed -i 's:#define VERSUFFIX.*:#define VERSUFFIX " (PLD-Linux)":' gcc/version.c
 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
 
 mv ChangeLog ChangeLog.general
@@ -798,25 +814,28 @@ mv ChangeLog ChangeLog.general
 cd gcc
 %{__autoconf}
 cd ..
+cd libjava
+%{__autoconf}
+cd classpath
+%{__autoconf}
+cd ../..
 cp -f /usr/share/automake/config.sub .
 
-rm -rf obj-%{_target_platform}
-install -d obj-%{_target_platform}
-cd obj-%{_target_platform}
+rm -rf builddir && install -d builddir && cd builddir
 
 CFLAGS="%{rpmcflags}" \
 CXXFLAGS="%{rpmcxxflags}" \
 TEXCONFIG=false \
 ../configure \
        --prefix=%{_prefix} \
+       --with-local-prefix=%{_prefix}/local \
        --libdir=%{_libdir} \
        --libexecdir=%{_libdir} \
        --infodir=%{_infodir} \
        --mandir=%{_mandir} \
-       --x-libraries=/usr/X11R6/%{_lib} \
+       --x-libraries=%{_libdir} \
        --enable-shared \
        --enable-threads=posix \
-       --enable-__cxa_atexit \
        --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
        --enable-c99 \
        --enable-long-long \
@@ -828,15 +847,31 @@ TEXCONFIG=false \
        --with-demangler-in-ld \
        --with-system-zlib \
        --with-slibdir=%{_slibdir} \
+%ifnarch ia64
+       --without-system-libunwind \
+%else
+       --with-system-libunwind \
+%endif
        %{!?with_java:--without-x} \
        %{?with_fortran:--enable-cmath} \
        --with-long-double-128 \
+%ifarch ppc ppc64
+       --enable-secureplt \
+%endif
+%if %{with cxx}
+       --with-gxx-include-dir=%{_includedir}/c++/%{version} \
+       --disable-libstdcxx-pch \
+       --enable-__cxa_atexit \
+       --enable-libstdcxx-allocator=new \
+%endif
 %if %{with java}
+       --with-qt4dir=%{_libdir}/qt4 \
+       --disable-libjava-multilib \
        --enable-libgcj \
        --enable-libgcj-multifile \
        --enable-libgcj-database \
        --enable-gtk-cairo \
-       --enable-java-awt=gtk,xlib \
+       --enable-java-awt=qt,gtk,xlib \
        --enable-jni \
        --enable-xmlj \
        --enable-alsa \
@@ -846,7 +881,7 @@ TEXCONFIG=false \
 
 cd ..
 
-%{__make} -C obj-%{_target_platform} \
+%{__make} -C builddir \
        %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
        GCJFLAGS="%{rpmcflags}" \
        BOOT_CFLAGS="%{rpmcflags}" \
@@ -856,13 +891,13 @@ cd ..
        mandir=%{_mandir} \
        infodir=%{_infodir}
 
-%{?with_tests:%{__make} -k -C obj-%{_target_platform} check 2>&1 ||:}
+%{?with_tests:%{__make} -k -C builddir check 2>&1 ||:}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
 
-cd obj-%{_target_platform}
+cd builddir
 
 %{__make} -j1 install \
        mandir=%{_mandir} \
@@ -931,11 +966,17 @@ for f in libmudflap.la libmudflapth.la libssp.la \
 do
        %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
        mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
+done
 %if %{with multilib}
+for f in libmudflap.la libmudflapth.la libssp.la \
+       %{?with_cxx:libstdc++.la libsupc++.la} \
+       %{?with_fortran:libgfortran.la libgfortranbegin.la} \
+       %{?with_objc:libobjc.la};
+do
        %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
        mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
-%endif
 done
+%endif
 
 # include/ contains install-tools/include/* and headers that were fixed up
 # by fixincludes, we don't want former
@@ -946,24 +987,19 @@ mkdir     $gccdir/tmp
 %{?with_java:mv $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jni_md.h,jvmpi.h} $gccdir/tmp}
 %{?with_objc:mv $gccdir/include/objc $gccdir/tmp}
 mv $gccdir/include/syslimits.h $gccdir/tmp
+mv $gccdir/include/ssp $gccdir/tmp
 rm -rf $gccdir/include
 mv $gccdir/tmp $gccdir/include
 cp $gccdir/install-tools/include/*.h $gccdir/include
 # but we don't want anything more from install-tools
 rm -rf $gccdir/install-tools
 
-%if %{with multilib}
-ln -sf %{_slibdir32}/libgcc_s.so.1     $gccdir/32/libgcc_s.so
-%endif
-ln -sf %{_slibdir}/libgcc_s.so.1       $gccdir/libgcc_s.so
-
 %find_lang gcc
 %find_lang cpplib
 cat cpplib.lang >> gcc.lang
 
 %if %{with cxx}
 %find_lang libstdc\+\+
-rm -rf $RPM_BUILD_ROOT%{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
 install libstdc++-v3/include/stdc++.h $RPM_BUILD_ROOT%{_includedir}
 %endif
 
@@ -1026,6 +1062,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_libdir}/gcc/*
 %dir %{_libdir}/gcc/*/*
 %dir %{_libdir}/gcc/*/*/include
+%dir %{_libdir}/gcc/*/*/include/ssp
 
 %attr(755,root,root) %{_bindir}/*-gcc*
 %attr(755,root,root) %{_bindir}/gcc
@@ -1034,8 +1071,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/cc
 %attr(755,root,root) %{_bindir}/cpp
 
-%{_includedir}/ssp
-
 %{_mandir}/man1/cc.1*
 %{_mandir}/man1/cpp.1*
 %{_mandir}/man1/gcc.1*
@@ -1047,19 +1082,19 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) /lib/cpp
 
 %attr(755,root,root) %{_slibdir}/lib*.so
+%{_libdir}/libssp.a
 %{_libdir}/libssp.la
-%attr(755,root,root) %{_libdir}/libssp.a
 %attr(755,root,root) %{_libdir}/libssp.so
 %{_libdir}/libssp_nonshared.a
 %{_libdir}/libssp_nonshared.la
 %if %{with multilib}
+%attr(755,root,root) %{_slibdir32}/lib*.so
 %dir %{_libdir}/gcc/*/*/32
 %{_libdir}/gcc/*/*/32/libgcov.a
 %{_libdir}/gcc/*/*/32/libgcc.a
 %{_libdir}/gcc/*/*/32/libgcc_eh.a
-%{_libdir}/gcc/*/*/32/libgcc_s.so
+%{_libdir32}/libssp.a
 %{_libdir32}/libssp.la
-%attr(755,root,root) %{_libdir32}/libssp.a
 %attr(755,root,root) %{_libdir32}/libssp.so
 %{_libdir32}/libssp_nonshared.a
 %{_libdir32}/libssp_nonshared.la
@@ -1067,7 +1102,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/gcc/*/*/libgcov.a
 %{_libdir}/gcc/*/*/libgcc.a
 %{_libdir}/gcc/*/*/libgcc_eh.a
-%{_libdir}/gcc/*/*/libgcc_s.so
 %{_libdir}/gcc/*/*/specs
 %if %{with multilib}
 %{_libdir}/gcc/*/*/32/crt*.o
@@ -1077,6 +1111,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
 
 %{_libdir}/gcc/*/*/include/*.h
+%{_libdir}/gcc/*/*/include/ssp/*.h
 
 %files -n libgcc
 %defattr(644,root,root,755)
@@ -1259,13 +1294,15 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/addr2name.awk
 %attr(755,root,root) %{_bindir}/gij
 %attr(755,root,root) %{_libdir}/libgcj.so.*.*.*
-# R: lib-gnu-java-awt-peer-gtk (see below)
+# R: lib-gnu-java-awt-peer-gtk/qt (see below)
 %attr(755,root,root) %{_libdir}/libgcjawt.so.*.*.*
 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
-# R: libX11
+# R: xorg libs
 %attr(755,root,root) %{_libdir}/lib-gnu-awt-xlib.so.*.*.*
 # R: gtk+2
 %attr(755,root,root) %{_libdir}/lib-gnu-java-awt-peer-gtk.so.*.*.*
+# R: QtGui
+%attr(755,root,root) %{_libdir}/lib-gnu-java-awt-peer-qt.so.7.0.0
 %dir %{_libdir}/classpath
 # R: alsa-libs
 %attr(755,root,root) %{_libdir}/classpath/libgjsmalsa.so*
@@ -1301,6 +1338,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/lib-gnu-awt-xlib.la
 %attr(755,root,root) %{_libdir}/lib-gnu-java-awt-peer-gtk.so
 %{_libdir}/lib-gnu-java-awt-peer-gtk.la
+%attr(755,root,root) %{_libdir}/lib-gnu-java-awt-peer-qt.so
+%{_libdir}/lib-gnu-java-awt-peer-qt.la
 %{_pkgconfigdir}/libgcj.pc
 
 %files -n libgcj-static
@@ -1310,6 +1349,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgij.a
 %{_libdir}/lib-gnu-awt-xlib.a
 %{_libdir}/lib-gnu-java-awt-peer-gtk.a
+%{_libdir}/lib-gnu-java-awt-peer-qt.a
 
 %files -n libffi
 %defattr(644,root,root,755)
This page took 0.558511 seconds and 4 git commands to generate.